wpcapi.idl 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. /*
  2. * Copyright 2011 Jacek Caban for CodeWeavers
  3. *
  4. * This library is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU Lesser General Public
  6. * License as published by the Free Software Foundation; either
  7. * version 2.1 of the License, or (at your option) any later version.
  8. *
  9. * This library is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  12. * Lesser General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU Lesser General Public
  15. * License along with this library; if not, write to the Free Software
  16. * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  17. */
  18. import "oaidl.idl";
  19. import "ocidl.idl";
  20. #ifndef __WIDL__
  21. #define threading(model)
  22. #endif
  23. typedef [v1_enum] enum tagWPCFLAG_RESTRICTION {
  24. WPCFLAG_NO_RESTRICTION = 0x0000,
  25. WPCFLAG_LOGGING_REQUIRED = 0x0001,
  26. WPCFLAG_WEB_FILTERED = 0x0002,
  27. WPCFLAG_HOURS_RESTRICTED = 0x0004,
  28. WPCFLAG_GAMES_BLOCKED = 0x0008,
  29. WPCFLAG_APPS_RESTRICTED = 0x0010
  30. } WPCFLAG_RESTRICTION;
  31. [
  32. uuid(8fdf6ca1-0189-47e4-b670-1a8a4636e340),
  33. object
  34. ]
  35. interface IWPCSettings : IUnknown
  36. {
  37. HRESULT IsLoggingRequired(
  38. [out] BOOL *pfRequired);
  39. HRESULT GetLastSettingsChangeTime(
  40. [out] SYSTEMTIME *pTime) ;
  41. HRESULT GetRestrictions(
  42. [out] DWORD *pdwRestrictions);
  43. }
  44. [
  45. uuid(95e87780-e158-489e-b452-bbb850790715),
  46. object
  47. ]
  48. interface IWPCGamesSettings : IWPCSettings
  49. {
  50. HRESULT IsBlocked(
  51. [in] GUID guidAppID,
  52. [out] DWORD *pdwReasons);
  53. }
  54. [
  55. uuid(ffccbdb8-0992-4c30-b0f1-1cbb09c240aa),
  56. object
  57. ]
  58. interface IWPCWebSettings : IWPCSettings
  59. {
  60. typedef enum tagWPCFLAG_WEB_SETTING {
  61. WPCFLAG_WEB_SETTING_NOTBLOCKED = 0,
  62. WPCFLAG_WEB_SETTING_DOWNLOADSBLOCKED = 1
  63. } WPCFLAG_WEB_SETTING;
  64. HRESULT GetSettings(
  65. [out] DWORD *pdwSettings);
  66. HRESULT RequestURLOverride(
  67. [in] HWND hWnd,
  68. [in] LPCWSTR pcszURL,
  69. [in] DWORD cURLs,
  70. [in] LPCWSTR *ppcszSubURLs,
  71. [out] BOOL *pfChanged);
  72. }
  73. typedef enum tagWPCFLAG_VISIBILITY {
  74. WPCFLAG_WPC_VISIBLE = 0,
  75. WPCFLAG_WPC_HIDDEN = 1
  76. } WPCFLAG_VISIBILITY;
  77. [
  78. uuid(4FF40A0F-3F3B-4d7c-A41B-4F39D7B44D05),
  79. object
  80. ]
  81. interface IWindowsParentalControlsCore : IUnknown
  82. {
  83. HRESULT GetVisibility(
  84. [out] WPCFLAG_VISIBILITY *peVisibility) ;
  85. HRESULT GetUserSettings(
  86. [in] LPCWSTR pcszSID,
  87. [out] IWPCSettings **ppSettings);
  88. HRESULT GetWebSettings(
  89. [in] LPCWSTR pcszSID,
  90. [out] IWPCWebSettings **ppSettings);
  91. HRESULT GetWebFilterInfo(
  92. [out] GUID *pguidID,
  93. [in] LPWSTR *ppszName);
  94. }
  95. [
  96. uuid(28b4d88b-e072-49e6-804d-26edbe21a7b9),
  97. object
  98. ]
  99. interface IWindowsParentalControls : IWindowsParentalControlsCore
  100. {
  101. HRESULT GetGamesSettings(
  102. [in] LPCWSTR pcszSID,
  103. [out] IWPCGamesSettings **ppSettings) ;
  104. }
  105. [
  106. helpstring("WindowsParentalControls class"),
  107. threading(both),
  108. uuid(e77cc89b-7401-4c04-8ced-149db35add04)
  109. ]
  110. coclass WindowsParentalControls
  111. {
  112. [default] interface IWindowsParentalControls;
  113. }