source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/napenforcementclient.idl@ 1170

Last change on this file since 1170 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 3.7 KB
Line 
1/**
2 * This file is part of the mingw-w64 runtime package.
3 * No warranty is given; refer to the file DISCLAIMER within this package.
4 */
5
6import "naptypes.idl";
7import "unknwn.idl";
8
9cpp_quote("#include <winapifamily.h>")
10cpp_quote("")
11cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
12
13interface INapEnforcementClientBinding;
14interface INapEnforcementClientCallback;
15interface INapEnforcementClientConnection;
16interface INapEnforcementClientConnection2;
17
18[object, uuid (92b93223-7487-42d9-9a91-5b8507720384), pointer_default (unique)]
19interface INapEnforcementClientBinding : IUnknown {
20 HRESULT Initialize ([in] EnforcementEntityId id,[in] INapEnforcementClientCallback *callback);
21 HRESULT Uninitialize ();
22 HRESULT CreateConnection ([out] INapEnforcementClientConnection **connection);
23 HRESULT GetSoHRequest ([in] INapEnforcementClientConnection *connection,[out] WINBOOL *retriggerHint);
24 HRESULT ProcessSoHResponse ([in] INapEnforcementClientConnection *connection);
25 HRESULT NotifyConnectionStateDown ([in] INapEnforcementClientConnection *downCxn);
26 HRESULT NotifySoHChangeFailure ();
27};
28
29[object, uuid (F5A0B90A-83a1-4f76-BA3F-025418682814), pointer_default (unique)]
30interface INapEnforcementClientCallback : IUnknown {
31 typedef struct tagConnections {
32 [range (0, maxConnectionCountPerEnforcer)] UINT16 count;
33 [size_is (count)] INapEnforcementClientConnection **connections;
34 } Connections;
35
36 HRESULT NotifySoHChange ();
37 HRESULT GetConnections ([out] Connections **connections);
38};
39
40[object, uuid (FB3A3505-DDB1-468a-B307-F328A57419D8), pointer_default (unique)]
41interface INapEnforcementClientConnection : IUnknown {
42 const UINT32 defaultProtocolMaxSize = 4000;
43 const UINT32 minProtocolMaxSize = 300;
44 const UINT32 maxProtocolMaxSize = 0xffff;
45
46 typedef [range (minProtocolMaxSize, maxProtocolMaxSize)] UINT32 ProtocolMaxSize;
47
48 HRESULT Initialize ([in] EnforcementEntityId id);
49 HRESULT SetMaxSize ([in] ProtocolMaxSize maxSize);
50 HRESULT GetMaxSize ([out] ProtocolMaxSize *maxSize);
51 HRESULT SetFlags ([in] UINT8 flags);
52 HRESULT GetFlags ([out] UINT8 *flags);
53 HRESULT SetConnectionId ([in] const ConnectionId *connectionId);
54 HRESULT GetConnectionId ([out] ConnectionId **connectionId);
55 HRESULT GetCorrelationId ([out] CorrelationId *correlationId);
56 HRESULT GetStringCorrelationId ([out] StringCorrelationId **correlationId);
57 HRESULT SetCorrelationId ([in] CorrelationId correlationId);
58 HRESULT SetSoHRequest ([in, unique] const NetworkSoHRequest *sohRequest);
59 HRESULT GetSoHRequest ([out] NetworkSoHRequest **sohRequest);
60 HRESULT SetSoHResponse ([in] const NetworkSoHResponse *sohResponse);
61 HRESULT GetSoHResponse ([out] NetworkSoHResponse **sohResponse);
62 HRESULT SetIsolationInfo ([in] const IsolationInfo *isolationInfo);
63 HRESULT GetIsolationInfo ([out] IsolationInfo **isolationInfo);
64 HRESULT SetPrivateData ([in] const PrivateData *privateData);
65 HRESULT GetPrivateData ([out] PrivateData **privateData);
66 HRESULT SetEnforcerPrivateData ([in] const PrivateData *privateData);
67 HRESULT GetEnforcerPrivateData ([out] PrivateData **privateData);
68};
69
70[object, uuid (bd244906-70dd-4690-beea-648653393500), pointer_default (unique)]
71interface INapEnforcementClientConnection2 : INapEnforcementClientConnection {
72 HRESULT SetIsolationInfoEx ([in] const IsolationInfoEx *isolationInfo);
73 HRESULT GetIsolationInfoEx ([out] IsolationInfoEx **isolationInfo);
74 HRESULT GetInstalledShvs ([out] SystemHealthEntityCount *count,[out, size_is (,*count)] SystemHealthEntityId **ids);
75 HRESULT SetInstalledShvs ([in] SystemHealthEntityCount count,[in, size_is (count)] SystemHealthEntityId *ids);
76};
77
78cpp_quote("EXTERN_C const CLSID CLSID_NapEnforcementClientBinding;")
79cpp_quote("#endif")
Note: See TracBrowser for help on using the repository browser.