services: Cleanup when a service fails to start so it is still fully considered to...
[wine] / include / wpcapi.idl
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
19 import "oaidl.idl";
20 import "ocidl.idl";
21
22 [
23     uuid(8fdf6ca1-0189-47e4-b670-1a8a4636e340),
24     object
25 ]
26 interface IWPCSettings : IUnknown
27 {
28     HRESULT IsLoggingRequired(
29             [out] BOOL *pfRequired);
30
31     HRESULT GetLastSettingsChangeTime(
32             [out] SYSTEMTIME *pTime) ;
33
34     HRESULT GetRestrictions(
35             [out] DWORD *pdwRestrictions);
36 }
37
38 [
39     uuid(95e87780-e158-489e-b452-bbb850790715),
40     object
41 ]
42 interface IWPCGamesSettings : IWPCSettings
43 {
44     HRESULT IsBlocked(
45             [in] GUID guidAppID,
46             [out] DWORD *pdwReasons);
47 }
48
49 [
50     uuid(ffccbdb8-0992-4c30-b0f1-1cbb09c240aa),
51     object
52 ]
53 interface IWPCWebSettings : IWPCSettings
54 {
55     typedef enum tagWPCFLAG_WEB_SETTING {
56         WPCFLAG_WEB_SETTING_NOTBLOCKED = 0,
57         WPCFLAG_WEB_SETTING_DOWNLOADSBLOCKED = 1
58     } WPCFLAG_WEB_SETTING;
59
60     HRESULT GetSettings(
61             [out] DWORD *pdwSettings);
62
63     HRESULT RequestURLOverride(
64             [in] HWND hWnd,
65             [in] LPCWSTR pcszURL,
66             [in] DWORD cURLs,
67             [in] LPCWSTR *ppcszSubURLs,
68             [out] BOOL *pfChanged);
69 }
70
71 typedef enum tagWPCFLAG_VISIBILITY {
72     WPCFLAG_WPC_VISIBLE = 0,
73     WPCFLAG_WPC_HIDDEN = 1
74 } WPCFLAG_VISIBILITY;
75
76 [
77     uuid(4FF40A0F-3F3B-4d7c-A41B-4F39D7B44D05),
78     object
79 ]
80 interface IWindowsParentalControlsCore : IUnknown
81 {
82     HRESULT GetVisibility(
83             [out] WPCFLAG_VISIBILITY *peVisibility) ;
84
85     HRESULT GetUserSettings(
86             [in] LPCWSTR pcszSID,
87             [out] IWPCSettings **ppSettings);
88
89     HRESULT GetWebSettings(
90             [in] LPCWSTR pcszSID,
91             [out] IWPCWebSettings **ppSettings);
92
93     HRESULT GetWebFilterInfo(
94             [out] GUID *pguidID,
95             [in] LPWSTR *ppszName);
96 }
97
98 [
99     uuid(4ff40a0f-3f3b-4d7c-a41b-4f39d7b44d05),
100     object
101 ]
102 interface IWindowsParentalControls : IWindowsParentalControlsCore
103 {
104     HRESULT GetGamesSettings(
105             [in] LPCWSTR pcszSID,
106             [out] IWPCGamesSettings **ppSettings) ;
107 }