winemenubuilder: Use nameless unions.
[wine/zf.git] / include / wpcapi.idl
blob053c882a2acb279171abf05403a47db264347ed2
1 /*
2 * Copyright 2011 Jacek Caban for CodeWeavers
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.
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.
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
19 import "oaidl.idl";
20 import "ocidl.idl";
22 #ifndef __WIDL__
23 #define threading(model)
24 #endif
26 typedef [v1_enum] enum tagWPCFLAG_RESTRICTION {
27 WPCFLAG_NO_RESTRICTION = 0x0000,
28 WPCFLAG_LOGGING_REQUIRED = 0x0001,
29 WPCFLAG_WEB_FILTERED = 0x0002,
30 WPCFLAG_HOURS_RESTRICTED = 0x0004,
31 WPCFLAG_GAMES_BLOCKED = 0x0008,
32 WPCFLAG_APPS_RESTRICTED = 0x0010
33 } WPCFLAG_RESTRICTION;
36 uuid(8fdf6ca1-0189-47e4-b670-1a8a4636e340),
37 object
39 interface IWPCSettings : IUnknown
41 HRESULT IsLoggingRequired(
42 [out] BOOL *pfRequired);
44 HRESULT GetLastSettingsChangeTime(
45 [out] SYSTEMTIME *pTime) ;
47 HRESULT GetRestrictions(
48 [out] DWORD *pdwRestrictions);
52 uuid(95e87780-e158-489e-b452-bbb850790715),
53 object
55 interface IWPCGamesSettings : IWPCSettings
57 HRESULT IsBlocked(
58 [in] GUID guidAppID,
59 [out] DWORD *pdwReasons);
63 uuid(ffccbdb8-0992-4c30-b0f1-1cbb09c240aa),
64 object
66 interface IWPCWebSettings : IWPCSettings
68 typedef enum tagWPCFLAG_WEB_SETTING {
69 WPCFLAG_WEB_SETTING_NOTBLOCKED = 0,
70 WPCFLAG_WEB_SETTING_DOWNLOADSBLOCKED = 1
71 } WPCFLAG_WEB_SETTING;
73 HRESULT GetSettings(
74 [out] DWORD *pdwSettings);
76 HRESULT RequestURLOverride(
77 [in] HWND hWnd,
78 [in] LPCWSTR pcszURL,
79 [in] DWORD cURLs,
80 [in] LPCWSTR *ppcszSubURLs,
81 [out] BOOL *pfChanged);
84 typedef enum tagWPCFLAG_VISIBILITY {
85 WPCFLAG_WPC_VISIBLE = 0,
86 WPCFLAG_WPC_HIDDEN = 1
87 } WPCFLAG_VISIBILITY;
90 uuid(4FF40A0F-3F3B-4d7c-A41B-4F39D7B44D05),
91 object
93 interface IWindowsParentalControlsCore : IUnknown
95 HRESULT GetVisibility(
96 [out] WPCFLAG_VISIBILITY *peVisibility) ;
98 HRESULT GetUserSettings(
99 [in] LPCWSTR pcszSID,
100 [out] IWPCSettings **ppSettings);
102 HRESULT GetWebSettings(
103 [in] LPCWSTR pcszSID,
104 [out] IWPCWebSettings **ppSettings);
106 HRESULT GetWebFilterInfo(
107 [out] GUID *pguidID,
108 [in] LPWSTR *ppszName);
112 uuid(28b4d88b-e072-49e6-804d-26edbe21a7b9),
113 object
115 interface IWindowsParentalControls : IWindowsParentalControlsCore
117 HRESULT GetGamesSettings(
118 [in] LPCWSTR pcszSID,
119 [out] IWPCGamesSettings **ppSettings) ;
123 helpstring("WindowsParentalControls class"),
124 threading(both),
125 uuid(e77cc89b-7401-4c04-8ced-149db35add04)
127 coclass WindowsParentalControls
129 [default] interface IWindowsParentalControls;