source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/objidlbase.idl@ 1186

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

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

File size: 25.7 KB
Line 
1cpp_quote("/**")
2cpp_quote(" * This file is part of the mingw-w64 runtime package.")
3cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.")
4cpp_quote(" */")
5cpp_quote("")
6cpp_quote("#include <winapifamily.h>")
7cpp_quote("")
8cpp_quote("#if (NTDDI_VERSION >= NTDDI_VISTA && !defined(_WIN32_WINNT))")
9cpp_quote("#define _WIN32_WINNT 0x0600")
10cpp_quote("#endif")
11cpp_quote("")
12cpp_quote("#if (NTDDI_VERSION >= NTDDI_WS03 && !defined(_WIN32_WINNT))")
13cpp_quote("#define _WIN32_WINNT 0x0502")
14cpp_quote("#endif")
15cpp_quote("")
16cpp_quote("#if (NTDDI_VERSION >= NTDDI_WINXP && !defined(_WIN32_WINNT))")
17cpp_quote("#define _WIN32_WINNT 0x0501")
18cpp_quote("#endif")
19
20#ifndef DO_NO_IMPORTS
21cpp_quote("")
22
23import "unknwnbase.idl";
24import "wtypesbase.idl";
25#endif
26
27cpp_quote("")
28cpp_quote("#ifndef _OBJIDLBASE_")
29cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
30
31interface IStream;
32interface IEnumString;
33interface IMultiQI;
34cpp_quote("#endif")
35
36cpp_quote("")
37cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
38interface IAsyncManager;
39interface ICallFactory;
40interface ISynchronize;
41cpp_quote("#endif")
42
43cpp_quote("")
44cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
45typedef struct _COSERVERINFO {
46 DWORD dwReserved1;
47 LPWSTR pwszName;
48 COAUTHINFO *pAuthInfo;
49 DWORD dwReserved2;
50} COSERVERINFO;
51
52cpp_quote("")
53[local, object, uuid (00000003-0000-0000-C000-000000000046)]
54interface IMarshal : IUnknown {
55 typedef [unique] IMarshal *LPMARSHAL;
56 HRESULT GetUnmarshalClass ([in] REFIID riid,[in, unique] void *pv,[in] DWORD dwDestContext,[in, unique] void *pvDestContext,[in] DWORD mshlflags,[out] CLSID *pCid);
57 HRESULT GetMarshalSizeMax ([in] REFIID riid,[in, unique] void *pv,[in] DWORD dwDestContext,[in, unique] void *pvDestContext,[in] DWORD mshlflags,[out] DWORD *pSize);
58 HRESULT MarshalInterface ([in, unique] IStream *pStm,[in] REFIID riid,[in, unique] void *pv,[in] DWORD dwDestContext,[in, unique] void *pvDestContext,[in] DWORD mshlflags);
59 HRESULT UnmarshalInterface ([in, unique] IStream *pStm,[in] REFIID riid,[out] void **ppv);
60 HRESULT ReleaseMarshalData ([in, unique] IStream *pStm);
61 HRESULT DisconnectObject ([in] DWORD dwReserved);
62}
63
64cpp_quote("")
65[local, object, uuid (ecc8691b-c1db-4dc0-855e-65f6c551af49)]
66interface INoMarshal : IUnknown {
67}
68
69cpp_quote("")
70[local, object, uuid (94ea2b94-e9cc-49e0-c0ff-ee64ca8f5b90)]
71interface IAgileObject : IUnknown {
72}
73
74[local, object, uuid(c03f6a43-65a4-9818-987e-e0b810d2a6f2), pointer_default(unique)]
75interface IAgileReference : IUnknown
76{
77 HRESULT Resolve([in] REFIID riid, [out, retval, iid_is(riid)] void **ppv);
78}
79cpp_quote("#endif")
80
81cpp_quote("")
82cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
83[local, object, uuid (000001cf-0000-0000-C000-000000000046)]
84interface IMarshal2 : IMarshal {
85 typedef [unique] IMarshal2 *LPMARSHAL2;
86}
87
88cpp_quote("")
89[local, object, uuid (00000002-0000-0000-C000-000000000046)]
90interface IMalloc : IUnknown {
91 typedef [unique] IMalloc *LPMALLOC;
92cpp_quote("")
93 void *Alloc ([in] SIZE_T cb);
94 void *Realloc ([in] void *pv,[in] SIZE_T cb);
95 void Free ([in] void *pv);
96 SIZE_T GetSize ([in] void *pv);
97 int DidAlloc ([in] void *pv);
98 void HeapMinimize (void);
99}
100
101cpp_quote("")
102[local, object, uuid (00000018-0000-0000-C000-000000000046)]
103interface IStdMarshalInfo : IUnknown {
104 typedef [unique] IStdMarshalInfo *LPSTDMARSHALINFO;
105cpp_quote("")
106 HRESULT GetClassForHandler ([in] DWORD dwDestContext,[in, unique] void *pvDestContext,[out] CLSID *pClsid);
107}
108
109cpp_quote("")
110[object, local, uuid (00000019-0000-0000-C000-000000000046)]
111interface IExternalConnection : IUnknown {
112 typedef [unique] IExternalConnection *LPEXTERNALCONNECTION;
113cpp_quote("")
114 typedef enum tagEXTCONN {
115 EXTCONN_STRONG = 0x0001,
116 EXTCONN_WEAK = 0x0002,
117 EXTCONN_CALLABLE = 0x0004,
118 } EXTCONN;
119cpp_quote("")
120 DWORD AddConnection ([in] DWORD extconn,[in] DWORD reserved);
121 DWORD ReleaseConnection ([in] DWORD extconn,[in] DWORD reserved,[in] BOOL fLastReleaseCloses);
122}
123
124cpp_quote("")
125typedef [unique] IMultiQI *LPMULTIQI;
126cpp_quote("#endif")
127
128cpp_quote("")
129cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
130typedef struct tagMULTI_QI {
131 const IID *pIID;
132 IUnknown *pItf;
133 HRESULT hr;
134} MULTI_QI;
135
136cpp_quote("")
137[object, local, uuid (00000020-0000-0000-C000-000000000046),
138async_uuid (000e0020-0000-0000-C000-000000000046)]
139interface IMultiQI : IUnknown {
140 HRESULT QueryMultipleInterfaces ([in] ULONG cMQIs,[in, out] MULTI_QI *pMQIs);
141}
142cpp_quote("#endif")
143
144cpp_quote("")
145cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
146[object, local, uuid (00000021-0000-0000-C000-000000000046)]
147interface IInternalUnknown : IUnknown {
148 HRESULT QueryInternalInterface ([in] REFIID riid,[out] void **ppv);
149}
150cpp_quote("#endif")
151
152cpp_quote("")
153cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
154[object, uuid (00000100-0000-0000-C000-000000000046), pointer_default (unique)]
155interface IEnumUnknown : IUnknown {
156 typedef [unique] IEnumUnknown *LPENUMUNKNOWN;
157cpp_quote("")
158 [local] HRESULT Next ([in] ULONG celt,[out] IUnknown **rgelt,[out] ULONG *pceltFetched);
159 [call_as (Next)] HRESULT RemoteNext ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] IUnknown **rgelt,[out] ULONG *pceltFetched);
160 HRESULT Skip ([in] ULONG celt);
161 HRESULT Reset ();
162 HRESULT Clone ([out] IEnumUnknown **ppenum);
163}
164
165cpp_quote("")
166[object, uuid (00000101-0000-0000-C000-000000000046), pointer_default (unique)]
167interface IEnumString : IUnknown {
168 typedef [unique] IEnumString *LPENUMSTRING;
169cpp_quote("")
170 [local] HRESULT Next ([in] ULONG celt, LPOLESTR *rgelt, ULONG *pceltFetched);
171 [call_as (Next)] HRESULT RemoteNext ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)]LPOLESTR *rgelt,[out] ULONG *pceltFetched);
172 HRESULT Skip ([in] ULONG celt);
173 HRESULT Reset ();
174 HRESULT Clone ([out] IEnumString **ppenum);
175}
176
177cpp_quote("")
178[object, uuid (0c733a30-2a1c-11ce-ade5-00aa0044773d), pointer_default (unique)]
179interface ISequentialStream : IUnknown {
180 [local] HRESULT Read (void *pv,[in] ULONG cb, ULONG *pcbRead);
181 [call_as (Read)] HRESULT RemoteRead ([out, size_is (cb), length_is (*pcbRead)]byte *pv,[in] ULONG cb,[out] ULONG *pcbRead);
182 [local] HRESULT Write (void const *pv,[in] ULONG cb, ULONG *pcbWritten);
183 [call_as (Write)] HRESULT RemoteWrite ([in, size_is (cb)] byte const *pv,[in] ULONG cb,[out] ULONG *pcbWritten);
184}
185
186cpp_quote("")
187[object, uuid (0000000c-0000-0000-C000-000000000046), pointer_default (unique)]
188interface IStream : ISequentialStream {
189 typedef [unique] IStream *LPSTREAM;
190 cpp_quote("")
191 typedef struct tagSTATSTG {
192 LPOLESTR pwcsName;
193 DWORD type;
194 ULARGE_INTEGER cbSize;
195 FILETIME mtime;
196 FILETIME ctime;
197 FILETIME atime;
198 DWORD grfMode;
199 DWORD grfLocksSupported;
200 CLSID clsid;
201 DWORD grfStateBits;
202 DWORD reserved;
203 } STATSTG;
204
205cpp_quote("")
206 typedef enum tagSTGTY {
207 STGTY_STORAGE = 1,
208 STGTY_STREAM = 2,
209 STGTY_LOCKBYTES = 3,
210 STGTY_PROPERTY = 4
211 } STGTY;
212
213cpp_quote("")
214 typedef enum tagSTREAM_SEEK {
215 STREAM_SEEK_SET = 0,
216 STREAM_SEEK_CUR = 1,
217 STREAM_SEEK_END = 2
218 } STREAM_SEEK;
219
220cpp_quote("")
221 typedef enum tagLOCKTYPE {
222 LOCK_WRITE = 1,
223 LOCK_EXCLUSIVE = 2,
224 LOCK_ONLYONCE = 4
225 } LOCKTYPE;
226cpp_quote("")
227 [local] HRESULT Seek ([in] LARGE_INTEGER dlibMove,[in] DWORD dwOrigin, ULARGE_INTEGER *plibNewPosition);
228 [call_as (Seek)] HRESULT RemoteSeek ([in] LARGE_INTEGER dlibMove,[in] DWORD dwOrigin,[out] ULARGE_INTEGER *plibNewPosition);
229 HRESULT SetSize ([in] ULARGE_INTEGER libNewSize);
230 [local] HRESULT CopyTo ([in, unique] IStream *pstm,[in] ULARGE_INTEGER cb, ULARGE_INTEGER *pcbRead, ULARGE_INTEGER *pcbWritten);
231 [call_as (CopyTo)] HRESULT RemoteCopyTo ([in, unique] IStream *pstm,[in] ULARGE_INTEGER cb,[out] ULARGE_INTEGER *pcbRead,[out] ULARGE_INTEGER *pcbWritten);
232 HRESULT Commit ([in] DWORD grfCommitFlags);
233 HRESULT Revert ();
234 HRESULT LockRegion ([in] ULARGE_INTEGER libOffset,[in] ULARGE_INTEGER cb,[in] DWORD dwLockType);
235 HRESULT UnlockRegion ([in] ULARGE_INTEGER libOffset,[in] ULARGE_INTEGER cb,[in] DWORD dwLockType);
236 HRESULT Stat ([out] STATSTG *pstatstg,[in] DWORD grfStatFlag);
237 HRESULT Clone ([out] IStream **ppstm);
238}
239
240cpp_quote("")
241[local, object, uuid (D5F56B60-593b-101a-B569-08002b2dbf7a)]
242interface IRpcChannelBuffer : IUnknown {
243 typedef unsigned long RPCOLEDATAREP;
244cpp_quote("")
245 typedef struct tagRPCOLEMESSAGE {
246 void *reserved1;
247 RPCOLEDATAREP dataRepresentation;
248 void *Buffer;
249 ULONG cbBuffer;
250 ULONG iMethod;
251 void *reserved2[5];
252 ULONG rpcFlags;
253 } RPCOLEMESSAGE;
254cpp_quote("")
255 typedef RPCOLEMESSAGE *PRPCOLEMESSAGE;
256cpp_quote("")
257 HRESULT GetBuffer ([in, out] RPCOLEMESSAGE *pMessage,[in] REFIID riid);
258 HRESULT SendReceive ([in, out] RPCOLEMESSAGE *pMessage,[out] ULONG *pStatus);
259 HRESULT FreeBuffer ([in, out] RPCOLEMESSAGE *pMessage);
260 HRESULT GetDestCtx ([out] DWORD *pdwDestContext,[out] void **ppvDestContext);
261 HRESULT IsConnected (void);
262}
263cpp_quote("#endif")
264
265cpp_quote("")
266cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
267[local, object, uuid (594f31d0-7f19-11d0-b194-00a0c90dc8bf)]
268interface IRpcChannelBuffer2 : IRpcChannelBuffer {
269 HRESULT GetProtocolVersion ([out] DWORD *pdwVersion);
270}
271
272cpp_quote("")
273[local, object, uuid (a5029fb6-3c34-11d1-9c99-00c04fb998aa), pointer_default (unique)]
274interface IAsyncRpcChannelBuffer : IRpcChannelBuffer2 {
275 HRESULT Send ([in, out] RPCOLEMESSAGE *pMsg,[in] ISynchronize *pSync,[out] ULONG *pulStatus);
276 HRESULT Receive ([in, out] RPCOLEMESSAGE *pMsg,[out] ULONG *pulStatus);
277 HRESULT GetDestCtxEx ([in] RPCOLEMESSAGE *pMsg,[out] DWORD *pdwDestContext,[out] void **ppvDestContext);
278};
279
280cpp_quote("")
281[local, object, uuid (25b15600-0115-11d0-BF0D-00aa00b8dfd2)]
282interface IRpcChannelBuffer3 : IRpcChannelBuffer2 {
283 HRESULT Send ([in, out] RPCOLEMESSAGE *pMsg,[out] ULONG *pulStatus);
284 HRESULT Receive ([in, out] RPCOLEMESSAGE *pMsg,[in] ULONG ulSize,[out] ULONG *pulStatus);
285 HRESULT Cancel ([in, out] RPCOLEMESSAGE *pMsg);
286 HRESULT GetCallContext ([in] RPCOLEMESSAGE *pMsg,[in] REFIID riid,[out] void **pInterface);
287 HRESULT GetDestCtxEx ([in] RPCOLEMESSAGE *pMsg,[out] DWORD *pdwDestContext,[out] void **ppvDestContext);
288 HRESULT GetState ([in] RPCOLEMESSAGE *pMsg,[out] DWORD *pState);
289 HRESULT RegisterAsync ([in, out] RPCOLEMESSAGE *pMsg,[in] IAsyncManager *pAsyncMgr);
290}
291
292cpp_quote("")
293[local, object, uuid (58a08519-24c8-4935-b482-3fd823333a4f)]
294interface IRpcSyntaxNegotiate : IUnknown {
295 HRESULT NegotiateSyntax ([in, out] RPCOLEMESSAGE *pMsg);
296}
297
298cpp_quote("")
299[local, object, uuid (D5F56A34-593b-101a-B569-08002b2dbf7a)]
300interface IRpcProxyBuffer : IUnknown {
301 HRESULT Connect ([in, unique] IRpcChannelBuffer *pRpcChannelBuffer);
302 void Disconnect (void);
303}
304cpp_quote("#endif")
305
306cpp_quote("")
307cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
308[local, object, uuid (D5F56AFC-593b-101a-B569-08002b2dbf7a)]
309interface IRpcStubBuffer : IUnknown {
310 HRESULT Connect ([in] IUnknown *pUnkServer);
311 void Disconnect ();
312 HRESULT Invoke ([in, out] RPCOLEMESSAGE *_prpcmsg,[in] IRpcChannelBuffer *_pRpcChannelBuffer);
313 IRpcStubBuffer *IsIIDSupported ([in] REFIID riid);
314 ULONG CountRefs (void);
315 HRESULT DebugServerQueryInterface ([out] void **ppv);
316 void DebugServerRelease ([in] void *pv);
317}
318
319cpp_quote("")
320[local, object, uuid (D5F569D0-593b-101a-B569-08002b2dbf7a)]
321interface IPSFactoryBuffer : IUnknown {
322 HRESULT CreateProxy ([in] IUnknown *pUnkOuter,[in] REFIID riid,[out] IRpcProxyBuffer **ppProxy,[out] void **ppv);
323 HRESULT CreateStub ([in] REFIID riid,[in, unique] IUnknown *pUnkServer,[out] IRpcStubBuffer **ppStub);
324}
325cpp_quote("#endif")
326
327cpp_quote("")
328cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
329cpp_quote("#if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM)")
330typedef struct SChannelHookCallInfo {
331 IID iid;
332 DWORD cbSize;
333 GUID uCausality;
334 DWORD dwServerPid;
335 DWORD iMethod;
336 void *pObject;
337} SChannelHookCallInfo;
338
339cpp_quote("")
340[local, object, uuid (1008c4a0-7613-11cf-9af1-0020af6e72f4)]
341interface IChannelHook : IUnknown {
342 void ClientGetSize ([in] REFGUID uExtent,[in] REFIID riid,[out] ULONG *pDataSize);
343 void ClientFillBuffer ([in] REFGUID uExtent,[in] REFIID riid,[in, out] ULONG *pDataSize,[in] void *pDataBuffer);
344 void ClientNotify ([in] REFGUID uExtent,[in] REFIID riid,[in] ULONG cbDataSize,[in] void *pDataBuffer,[in] DWORD lDataRep,[in] HRESULT hrFault);
345 void ServerNotify ([in] REFGUID uExtent,[in] REFIID riid,[in] ULONG cbDataSize,[in] void *pDataBuffer,[in] DWORD lDataRep);
346 void ServerGetSize ([in] REFGUID uExtent,[in] REFIID riid,[in] HRESULT hrFault,[out] ULONG *pDataSize);
347 void ServerFillBuffer ([in] REFGUID uExtent,[in] REFIID riid,[in, out] ULONG *pDataSize,[in] void *pDataBuffer,[in] HRESULT hrFault);
348};
349cpp_quote("#endif")
350cpp_quote("#endif")
351
352cpp_quote("")
353cpp_quote("#if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM)")
354cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
355[local, object, uuid (0000013d-0000-0000-C000-000000000046)]
356interface IClientSecurity : IUnknown {
357 typedef struct tagSOLE_AUTHENTICATION_SERVICE {
358 DWORD dwAuthnSvc;
359 DWORD dwAuthzSvc;
360 OLECHAR *pPrincipalName;
361 HRESULT hr;
362 } SOLE_AUTHENTICATION_SERVICE;
363cpp_quote("")
364 typedef SOLE_AUTHENTICATION_SERVICE *PSOLE_AUTHENTICATION_SERVICE;
365cpp_quote("")
366 typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES {
367 EOAC_NONE = 0x0,
368 EOAC_MUTUAL_AUTH = 0x1,
369 EOAC_STATIC_CLOAKING = 0x20,
370 EOAC_DYNAMIC_CLOAKING = 0x40,
371 EOAC_ANY_AUTHORITY = 0x80,
372 EOAC_MAKE_FULLSIC = 0x100,
373 EOAC_DEFAULT = 0x800,
374 EOAC_SECURE_REFS = 0x2,
375 EOAC_ACCESS_CONTROL = 0x4,
376 EOAC_APPID = 0x8,
377 EOAC_DYNAMIC = 0x10,
378 EOAC_REQUIRE_FULLSIC = 0x200,
379 EOAC_AUTO_IMPERSONATE = 0x400,
380 EOAC_NO_CUSTOM_MARSHAL = 0x2000,
381 EOAC_DISABLE_AAA = 0x1000
382 } EOLE_AUTHENTICATION_CAPABILITIES;
383cpp_quote("")
384 const OLECHAR *COLE_DEFAULT_PRINCIPAL = (OLECHAR *) ((INT_PTR) -1);
385 const void *COLE_DEFAULT_AUTHINFO = (void *) ((INT_PTR) -1);
386cpp_quote("")
387 typedef struct tagSOLE_AUTHENTICATION_INFO {
388 DWORD dwAuthnSvc;
389 DWORD dwAuthzSvc;
390 void *pAuthInfo;
391 } SOLE_AUTHENTICATION_INFO,*PSOLE_AUTHENTICATION_INFO;
392cpp_quote("")
393 typedef struct tagSOLE_AUTHENTICATION_LIST {
394 DWORD cAuthInfo;
395 SOLE_AUTHENTICATION_INFO *aAuthInfo;
396 } SOLE_AUTHENTICATION_LIST,*PSOLE_AUTHENTICATION_LIST;
397cpp_quote("")
398 HRESULT QueryBlanket ([in] IUnknown *pProxy,[out] DWORD *pAuthnSvc,[out] DWORD *pAuthzSvc,[out]OLECHAR **pServerPrincName,[out] DWORD *pAuthnLevel,[out] DWORD *pImpLevel,[out] void **pAuthInfo,[out] DWORD *pCapabilites);
399 HRESULT SetBlanket ([in] IUnknown *pProxy,[in] DWORD dwAuthnSvc,[in] DWORD dwAuthzSvc,[in]OLECHAR *pServerPrincName,[in] DWORD dwAuthnLevel,[in] DWORD dwImpLevel,[in] void *pAuthInfo,[in] DWORD dwCapabilities);
400 HRESULT CopyProxy ([in] IUnknown *pProxy,[out] IUnknown **ppCopy);
401}
402cpp_quote("#endif")
403
404cpp_quote("")
405cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
406[local, object, uuid (0000013e-0000-0000-C000-000000000046)]
407interface IServerSecurity : IUnknown {
408 HRESULT QueryBlanket ([out] DWORD *pAuthnSvc,[out] DWORD *pAuthzSvc,[out]OLECHAR **pServerPrincName,[out] DWORD *pAuthnLevel,[out] DWORD *pImpLevel,[out] void **pPrivs,[in, out] DWORD *pCapabilities);
409 HRESULT ImpersonateClient ();
410 HRESULT RevertToSelf ();
411 BOOL IsImpersonating ();
412}
413
414cpp_quote("")
415typedef enum tagRPCOPT_PROPERTIES {
416 COMBND_RPCTIMEOUT = 0x01,
417 COMBND_SERVER_LOCALITY = 0x02,
418 COMBND_RESERVED1 = 0x04
419} RPCOPT_PROPERTIES;
420
421cpp_quote("")
422typedef enum tagRPCOPT_SERVER_LOCALITY_VALUES {
423 SERVER_LOCALITY_PROCESS_LOCAL=0,
424 SERVER_LOCALITY_MACHINE_LOCAL=1,
425 SERVER_LOCALITY_REMOTE=2
426} RPCOPT_SERVER_LOCALITY_VALUES;
427
428cpp_quote("")
429[object, local, uuid (00000144-0000-0000-C000-000000000046)]
430interface IRpcOptions : IUnknown {
431 HRESULT Set ([in] IUnknown *pPrx,[in] RPCOPT_PROPERTIES dwProperty,[in] ULONG_PTR dwValue);
432 HRESULT Query ([in] IUnknown *pPrx,[in] RPCOPT_PROPERTIES dwProperty,[out] ULONG_PTR *pdwValue);
433}
434cpp_quote("#endif")
435
436cpp_quote("")
437cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
438typedef enum tagGLOBALOPT_PROPERTIES {
439 COMGLB_EXCEPTION_HANDLING = 1,
440 COMGLB_APPID = 2,
441 COMGLB_RPC_THREADPOOL_SETTING = 3,
442 COMGLB_RO_SETTINGS = 4,
443 COMGLB_UNMARSHALING_POLICY = 5,
444} GLOBALOPT_PROPERTIES;
445
446cpp_quote("")
447typedef enum tagGLOBALOPT_EH_VALUES {
448 COMGLB_EXCEPTION_HANDLE=0,
449 COMGLB_EXCEPTION_DONOT_HANDLE_FATAL=1,
450 COMGLB_EXCEPTION_DONOT_HANDLE=COMGLB_EXCEPTION_DONOT_HANDLE_FATAL,
451 COMGLB_EXCEPTION_DONOT_HANDLE_ANY=2
452} GLOBALOPT_EH_VALUES;
453
454cpp_quote("")
455typedef enum tagGLOBALOPT_RPCTP_VALUES {
456 COMGLB_RPC_THREADPOOL_SETTING_DEFAULT_POOL = 0,
457 COMGLB_RPC_THREADPOOL_SETTING_PRIVATE_POOL = 1,
458} GLOBALOPT_RPCTP_VALUES;
459
460cpp_quote("")
461typedef enum tagGLOBALOPT_RO_FLAGS {
462 COMGLB_STA_MODALLOOP_REMOVE_TOUCH_MESSAGES = 0x1,
463 COMGLB_STA_MODALLOOP_SHARED_QUEUE_REMOVE_INPUT_MESSAGES = 0x2,
464 COMGLB_STA_MODALLOOP_SHARED_QUEUE_DONOT_REMOVE_INPUT_MESSAGES = 0x4,
465 COMGLB_FAST_RUNDOWN = 0x8,
466 COMGLB_RESERVED1 = 0x10,
467 COMGLB_RESERVED2 = 0x20,
468 COMGLB_RESERVED3 = 0x40,
469 COMGLB_STA_MODALLOOP_SHARED_QUEUE_REORDER_POINTER_MESSAGES = 0x80
470} GLOBALOPT_RO_FLAGS;
471
472cpp_quote("")
473typedef enum tagGLOBALOPT_UNMARSHALING_POLICY_VALUES {
474 COMGLB_UNMARSHALING_POLICY_NORMAL = 0,
475 COMGLB_UNMARSHALING_POLICY_STRONG = 1,
476 COMGLB_UNMARSHALING_POLICY_HYBRID = 2
477} GLOBALOPT_UNMARSHALING_POLICY_VALUES;
478
479cpp_quote("")
480[object, local, pointer_default (unique), uuid (0000015b-0000-0000-C000-000000000046)]
481interface IGlobalOptions : IUnknown {
482 HRESULT Set ([in] GLOBALOPT_PROPERTIES dwProperty,[in] ULONG_PTR dwValue);
483 HRESULT Query ([in] GLOBALOPT_PROPERTIES dwProperty,[out] ULONG_PTR *pdwValue);
484}
485cpp_quote("#endif")
486cpp_quote("#endif")
487
488cpp_quote("")
489cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
490[uuid (00000022-0000-0000-C000-000000000046), version (1.0), pointer_default (unique), object]
491interface ISurrogate : IUnknown {
492 typedef [unique] ISurrogate *LPSURROGATE;
493cpp_quote("")
494 HRESULT LoadDllServer ([in] REFCLSID Clsid);
495 HRESULT FreeSurrogate ();
496}
497
498cpp_quote("")
499[local, object, uuid (00000146-0000-0000-C000-000000000046)]
500interface IGlobalInterfaceTable : IUnknown {
501 typedef [unique] IGlobalInterfaceTable *LPGLOBALINTERFACETABLE;
502cpp_quote("")
503 HRESULT RegisterInterfaceInGlobal ([in] IUnknown *pUnk,[in] REFIID riid,[out] DWORD *pdwCookie);
504 HRESULT RevokeInterfaceFromGlobal ([in] DWORD dwCookie);
505 HRESULT GetInterfaceFromGlobal ([in] DWORD dwCookie,[in] REFIID riid,[out, iid_is (riid)] void **ppv);
506};
507cpp_quote("#endif")
508
509cpp_quote("")
510cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
511[object, uuid (00000030-0000-0000-C000-000000000046)]
512interface ISynchronize : IUnknown {
513 HRESULT Wait ([in] DWORD dwFlags,[in] DWORD dwMilliseconds);
514 HRESULT Signal ();
515 HRESULT Reset ();
516}
517
518cpp_quote("")
519[local, object, uuid (00000031-0000-0000-C000-000000000046)]
520interface ISynchronizeHandle : IUnknown {
521 HRESULT GetHandle ([out] HANDLE *ph);
522}
523
524cpp_quote("")
525[local, object, uuid (00000032-0000-0000-C000-000000000046)]
526interface ISynchronizeEvent : ISynchronizeHandle {
527 HRESULT SetEventHandle ([in] HANDLE *ph);
528}
529
530cpp_quote("")
531[local, object, uuid (00000033-0000-0000-C000-000000000046)]
532interface ISynchronizeContainer : IUnknown {
533 HRESULT AddSynchronize ([in] ISynchronize *pSync);
534 HRESULT WaitMultiple ([in] DWORD dwFlags,[in] DWORD dwTimeOut,[out] ISynchronize **ppSync);
535}
536
537cpp_quote("")
538[local, object, uuid (00000025-0000-0000-C000-000000000046)]
539interface ISynchronizeMutex : ISynchronize {
540 HRESULT ReleaseMutex ();
541}
542
543cpp_quote("")
544[local, object, uuid (00000029-0000-0000-C000-000000000046)]
545interface ICancelMethodCalls : IUnknown {
546 typedef [unique] ICancelMethodCalls *LPCANCELMETHODCALLS;
547cpp_quote("")
548 HRESULT Cancel ([in] ULONG ulSeconds);
549 HRESULT TestCancel (void);
550}
551
552cpp_quote("")
553[local, object, uuid (0000002a-0000-0000-C000-000000000046)]
554interface IAsyncManager : IUnknown {
555 typedef enum tagDCOM_CALL_STATE {
556 DCOM_NONE = 0x0,
557 DCOM_CALL_COMPLETE = 0x1,
558 DCOM_CALL_CANCELED = 0x2,
559 } DCOM_CALL_STATE;
560cpp_quote("")
561 HRESULT CompleteCall ([in] HRESULT Result);
562 HRESULT GetCallContext ([in] REFIID riid,[out] void **pInterface);
563 HRESULT GetState ([out] ULONG *pulStateFlags);
564}
565
566cpp_quote("")
567[local, object, uuid (1c733a30-2a1c-11ce-ade5-00aa0044773d), pointer_default (unique)]
568interface ICallFactory : IUnknown {
569 HRESULT CreateCall ([in] REFIID riid,[in] IUnknown *pCtrlUnk,[in] REFIID riid2,[out, iid_is (riid2)] IUnknown **ppv);
570}
571
572cpp_quote("")
573[uuid (00000149-0000-0000-C000-000000000046), version (0.0), pointer_default (unique), local, object]
574interface IRpcHelper : IUnknown {
575 HRESULT GetDCOMProtocolVersion ([out] DWORD *pComVersion);
576 HRESULT GetIIDFromOBJREF ([in] void *pObjRef,[out] IID **piid);
577}
578
579cpp_quote("")
580[local, object, uuid (eb0cb9e8-7996-11d2-872e-0000f8080859),]
581interface IReleaseMarshalBuffers : IUnknown {
582 HRESULT ReleaseMarshalBuffer ([in, out] RPCOLEMESSAGE *pMsg,[in] DWORD dwFlags,[in, unique] IUnknown *pChnl);
583}
584
585cpp_quote("")
586[local, object, uuid (0000002b-0000-0000-C000-000000000046)]
587interface IWaitMultiple : IUnknown {
588 HRESULT WaitMultiple ([in] DWORD timeout,[out] ISynchronize **pSync);
589 HRESULT AddSynchronize ([in] ISynchronize *pSync);
590}
591
592cpp_quote("")
593[local, object, uuid (00000147-0000-0000-C000-000000000046)]
594interface IAddrTrackingControl : IUnknown {
595 typedef [unique] IAddrTrackingControl *LPADDRTRACKINGCONTROL;
596 HRESULT EnableCOMDynamicAddrTracking ();
597 HRESULT DisableCOMDynamicAddrTracking ();
598};
599
600cpp_quote("")
601[local, object, uuid (00000148-0000-0000-C000-000000000046)]
602interface IAddrExclusionControl : IUnknown {
603 typedef [unique] IAddrExclusionControl *LPADDREXCLUSIONCONTROL;
604 HRESULT GetCurrentAddrExclusionList ([in]REFIID riid,[out, iid_is (riid)]void **ppEnumerator);
605 HRESULT UpdateAddrExclusionList ([in]IUnknown *pEnumerator);
606};
607
608#define NEW_PIPE_INTERFACE(iid, async_iid, name, type) [object, uuid (iid), pointer_default (unique)] interface IPipe##name : IUnknown { HRESULT Pull ([out, size_is (cRequest), length_is (*pcReturned)] type *buf,[in] ULONG cRequest,[out] ULONG *pcReturned); HRESULT Push ([in, size_is (cSent)] type *buf,[in] ULONG cSent); }
609
610cpp_quote("")
611NEW_PIPE_INTERFACE (DB2F3ACA-2f86-11d1-8e04-00c04fb9989a, DB2F3ACB-2f86-11d1-8e04-00c04fb9989a, Byte, BYTE)
612cpp_quote("")
613NEW_PIPE_INTERFACE (DB2F3ACC-2f86-11d1-8e04-00c04fb9989a, DB2F3ACD-2f86-11d1-8e04-00c04fb9989a, Long, LONG)
614cpp_quote("")
615NEW_PIPE_INTERFACE (DB2F3ACE-2f86-11d1-8e04-00c04fb9989a, DB2F3ACF-2f86-11d1-8e04-00c04fb9989a, Double, DOUBLE)
616
617cpp_quote("")
618cpp_quote("#if defined USE_COM_CONTEXT_DEF || defined BUILDTYPE_COMSVCS || defined _COMBASEAPI_ || defined _OLE32_")
619
620cpp_quote("")
621typedef DWORD CPFLAGS;
622cpp_quote("")
623typedef struct tagContextProperty {
624 GUID policyId;
625 CPFLAGS flags;
626 [unique] IUnknown *pUnk;
627} ContextProperty;
628
629cpp_quote("")
630[local, object, uuid (000001c1-0000-0000-C000-000000000046), pointer_default (unique)]
631interface IEnumContextProps : IUnknown {
632 typedef [unique] IEnumContextProps *LPENUMCONTEXTPROPS;
633cpp_quote("")
634 HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)]ContextProperty *pContextProperties,[out] ULONG *pceltFetched);
635 HRESULT Skip ([in] ULONG celt);
636 HRESULT Reset ();
637 HRESULT Clone ([out] IEnumContextProps **ppEnumContextProps);
638 HRESULT Count ([out] ULONG *pcelt);
639}
640
641cpp_quote("")
642[local, object, uuid (000001c0-0000-0000-C000-000000000046), pointer_default (unique)]
643interface IContext : IUnknown {
644 HRESULT SetProperty ([in] REFGUID rpolicyId,[in] CPFLAGS flags,[in] IUnknown *pUnk);
645 HRESULT RemoveProperty ([in] REFGUID rPolicyId);
646 HRESULT GetProperty ([in] REFGUID rGuid,[out] CPFLAGS *pFlags,[out] IUnknown **ppUnk);
647 HRESULT EnumContextProps ([out] IEnumContextProps **ppEnumContextProps);
648}
649cpp_quote("#endif")
650cpp_quote("#endif")
651
652cpp_quote("")
653cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
654typedef enum _APTTYPEQUALIFIER {
655 APTTYPEQUALIFIER_NONE = 0,
656 APTTYPEQUALIFIER_IMPLICIT_MTA = 1,
657 APTTYPEQUALIFIER_NA_ON_MTA = 2,
658 APTTYPEQUALIFIER_NA_ON_STA = 3,
659 APTTYPEQUALIFIER_NA_ON_IMPLICIT_MTA = 4,
660 APTTYPEQUALIFIER_NA_ON_MAINSTA = 5,
661 APTTYPEQUALIFIER_APPLICATION_STA = 6,
662} APTTYPEQUALIFIER;
663
664cpp_quote("")
665typedef enum _APTTYPE {
666 APTTYPE_CURRENT = -1,
667 APTTYPE_STA = 0,
668 APTTYPE_MTA = 1,
669 APTTYPE_NA = 2,
670 APTTYPE_MAINSTA = 3
671} APTTYPE;
672cpp_quote("#endif")
673
674cpp_quote("")
675cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
676typedef enum _THDTYPE {
677 THDTYPE_BLOCKMESSAGES = 0,
678 THDTYPE_PROCESSMESSAGES = 1
679} THDTYPE;
680
681cpp_quote("")
682typedef DWORD APARTMENTID;
683
684cpp_quote("")
685[local, object, uuid (000001ce-0000-0000-C000-000000000046), pointer_default (unique)]
686interface IComThreadingInfo : IUnknown {
687 HRESULT GetCurrentApartmentType ([out] APTTYPE *pAptType);
688 HRESULT GetCurrentThreadType ([out] THDTYPE *pThreadType);
689 HRESULT GetCurrentLogicalThreadId ([out] GUID *pguidLogicalThreadId);
690 HRESULT SetCurrentLogicalThreadId ([in] REFGUID rguid);
691};
692
693cpp_quote("")
694[object, pointer_default (unique), uuid (72380d55-8d2b-43a3-8513-2b6ef31434e9)]
695interface IProcessInitControl : IUnknown {
696 HRESULT ResetInitializerTimeout ([in] DWORD dwSecondsRemaining);
697};
698
699cpp_quote("")
700[object, local, pointer_default (unique), uuid (00000040-0000-0000-C000-000000000046)]
701interface IFastRundown : IUnknown {
702};
703
704cpp_quote("")
705typedef enum CO_MARSHALING_CONTEXT_ATTRIBUTES {
706 CO_MARSHALING_SOURCE_IS_APP_CONTAINER = 0
707} CO_MARSHALING_CONTEXT_ATTRIBUTES;
708
709cpp_quote("")
710[local, object, uuid (D8F2F5E6-6102-4863-9f26-389a4676efde), pointer_default (unique)]
711interface IMarshalingStream : IStream {
712 HRESULT GetMarshalingContextAttribute ([in] CO_MARSHALING_CONTEXT_ATTRIBUTES attribute,[out] ULONG_PTR *pAttributeValue);
713};
714cpp_quote("#endif")
715
716cpp_quote("")
717cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
718cpp_quote("EXTERN_C const GUID IID_ICallbackWithNoReentrancyToApplicationSTA;")
719cpp_quote("#endif")
720
721cpp_quote("#define _OBJIDLBASE_")
722cpp_quote("#endif")
Note: See TracBrowser for help on using the repository browser.