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
23 #define threading
(model
)
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
),
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
),
55 interface IWPCGamesSettings
: IWPCSettings
59 [out] DWORD
*pdwReasons
);
63 uuid(ffccbdb8
-0992-4c30
-b0f1
-1cbb09c240aa
),
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
;
74 [out] DWORD
*pdwSettings
);
76 HRESULT RequestURLOverride
(
80 [in] LPCWSTR
*ppcszSubURLs
,
81 [out] BOOL
*pfChanged
);
84 typedef enum tagWPCFLAG_VISIBILITY
{
85 WPCFLAG_WPC_VISIBLE
= 0,
86 WPCFLAG_WPC_HIDDEN
= 1
90 uuid(4FF40A0F
-3F3B
-4d7c
-A41B
-4F39D7B44D05
),
93 interface IWindowsParentalControlsCore
: IUnknown
95 HRESULT GetVisibility
(
96 [out] WPCFLAG_VISIBILITY
*peVisibility
) ;
98 HRESULT GetUserSettings
(
100 [out] IWPCSettings
**ppSettings
);
102 HRESULT GetWebSettings
(
103 [in] LPCWSTR pcszSID
,
104 [out] IWPCWebSettings
**ppSettings
);
106 HRESULT GetWebFilterInfo
(
108 [in] LPWSTR
*ppszName
);
112 uuid(28b4d88b
-e072
-49e6
-804d
-26edbe21a7b9
),
115 interface IWindowsParentalControls
: IWindowsParentalControlsCore
117 HRESULT GetGamesSettings
(
118 [in] LPCWSTR pcszSID
,
119 [out] IWPCGamesSettings
**ppSettings
) ;
123 helpstring("WindowsParentalControls class"),
125 uuid(e77cc89b
-7401-4c04
-8ced
-149db35add04
)
127 coclass WindowsParentalControls
129 [default] interface IWindowsParentalControls
;