ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/objidlbase.idl
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
File size: 26348 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
1 cpp_quote("/**")
2 cpp_quote(" * This file is part of the mingw-w64 runtime package.")
3 cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.")
4 cpp_quote(" */")
5 cpp_quote("")
6 cpp_quote("#include <winapifamily.h>")
7 cpp_quote("")
8 cpp_quote("#if (NTDDI_VERSION >= NTDDI_VISTA && !defined(_WIN32_WINNT))")
9 cpp_quote("#define _WIN32_WINNT 0x0600")
10 cpp_quote("#endif")
11 cpp_quote("")
12 cpp_quote("#if (NTDDI_VERSION >= NTDDI_WS03 && !defined(_WIN32_WINNT))")
13 cpp_quote("#define _WIN32_WINNT 0x0502")
14 cpp_quote("#endif")
15 cpp_quote("")
16 cpp_quote("#if (NTDDI_VERSION >= NTDDI_WINXP && !defined(_WIN32_WINNT))")
17 cpp_quote("#define _WIN32_WINNT 0x0501")
18 cpp_quote("#endif")
19
20 #ifndef DO_NO_IMPORTS
21 cpp_quote("")
22
23 import "unknwnbase.idl";
24 import "wtypesbase.idl";
25 #endif
26
27 cpp_quote("")
28 cpp_quote("#ifndef _OBJIDLBASE_")
29 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
30
31 interface IStream;
32 interface IEnumString;
33 interface IMultiQI;
34 cpp_quote("#endif")
35
36 cpp_quote("")
37 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
38 interface IAsyncManager;
39 interface ICallFactory;
40 interface ISynchronize;
41 cpp_quote("#endif")
42
43 cpp_quote("")
44 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
45 typedef struct _COSERVERINFO {
46 DWORD dwReserved1;
47 LPWSTR pwszName;
48 COAUTHINFO *pAuthInfo;
49 DWORD dwReserved2;
50 } COSERVERINFO;
51
52 cpp_quote("")
53 [local, object, uuid (00000003-0000-0000-C000-000000000046)]
54 interface 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
64 cpp_quote("")
65 [local, object, uuid (ecc8691b-c1db-4dc0-855e-65f6c551af49)]
66 interface INoMarshal : IUnknown {
67 }
68
69 cpp_quote("")
70 [local, object, uuid (94ea2b94-e9cc-49e0-c0ff-ee64ca8f5b90)]
71 interface IAgileObject : IUnknown {
72 }
73
74 [local, object, uuid(c03f6a43-65a4-9818-987e-e0b810d2a6f2), pointer_default(unique)]
75 interface IAgileReference : IUnknown
76 {
77 HRESULT Resolve([in] REFIID riid, [out, retval, iid_is(riid)] void **ppv);
78 }
79 cpp_quote("#endif")
80
81 cpp_quote("")
82 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
83 [local, object, uuid (000001cf-0000-0000-C000-000000000046)]
84 interface IMarshal2 : IMarshal {
85 typedef [unique] IMarshal2 *LPMARSHAL2;
86 }
87
88 cpp_quote("")
89 [local, object, uuid (00000002-0000-0000-C000-000000000046)]
90 interface IMalloc : IUnknown {
91 typedef [unique] IMalloc *LPMALLOC;
92 cpp_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
101 cpp_quote("")
102 [local, object, uuid (00000018-0000-0000-C000-000000000046)]
103 interface IStdMarshalInfo : IUnknown {
104 typedef [unique] IStdMarshalInfo *LPSTDMARSHALINFO;
105 cpp_quote("")
106 HRESULT GetClassForHandler ([in] DWORD dwDestContext,[in, unique] void *pvDestContext,[out] CLSID *pClsid);
107 }
108
109 cpp_quote("")
110 [object, local, uuid (00000019-0000-0000-C000-000000000046)]
111 interface IExternalConnection : IUnknown {
112 typedef [unique] IExternalConnection *LPEXTERNALCONNECTION;
113 cpp_quote("")
114 typedef enum tagEXTCONN {
115 EXTCONN_STRONG = 0x0001,
116 EXTCONN_WEAK = 0x0002,
117 EXTCONN_CALLABLE = 0x0004,
118 } EXTCONN;
119 cpp_quote("")
120 DWORD AddConnection ([in] DWORD extconn,[in] DWORD reserved);
121 DWORD ReleaseConnection ([in] DWORD extconn,[in] DWORD reserved,[in] BOOL fLastReleaseCloses);
122 }
123
124 cpp_quote("")
125 typedef [unique] IMultiQI *LPMULTIQI;
126 cpp_quote("#endif")
127
128 cpp_quote("")
129 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
130 typedef struct tagMULTI_QI {
131 const IID *pIID;
132 IUnknown *pItf;
133 HRESULT hr;
134 } MULTI_QI;
135
136 cpp_quote("")
137 [object, local, uuid (00000020-0000-0000-C000-000000000046),
138 async_uuid (000e0020-0000-0000-C000-000000000046)]
139 interface IMultiQI : IUnknown {
140 HRESULT QueryMultipleInterfaces ([in] ULONG cMQIs,[in, out] MULTI_QI *pMQIs);
141 }
142 cpp_quote("#endif")
143
144 cpp_quote("")
145 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
146 [object, local, uuid (00000021-0000-0000-C000-000000000046)]
147 interface IInternalUnknown : IUnknown {
148 HRESULT QueryInternalInterface ([in] REFIID riid,[out] void **ppv);
149 }
150 cpp_quote("#endif")
151
152 cpp_quote("")
153 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
154 [object, uuid (00000100-0000-0000-C000-000000000046), pointer_default (unique)]
155 interface IEnumUnknown : IUnknown {
156 typedef [unique] IEnumUnknown *LPENUMUNKNOWN;
157 cpp_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
165 cpp_quote("")
166 [object, uuid (00000101-0000-0000-C000-000000000046), pointer_default (unique)]
167 interface IEnumString : IUnknown {
168 typedef [unique] IEnumString *LPENUMSTRING;
169 cpp_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
177 cpp_quote("")
178 [object, uuid (0c733a30-2a1c-11ce-ade5-00aa0044773d), pointer_default (unique)]
179 interface 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
186 cpp_quote("")
187 [object, uuid (0000000c-0000-0000-C000-000000000046), pointer_default (unique)]
188 interface 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
205 cpp_quote("")
206 typedef enum tagSTGTY {
207 STGTY_STORAGE = 1,
208 STGTY_STREAM = 2,
209 STGTY_LOCKBYTES = 3,
210 STGTY_PROPERTY = 4
211 } STGTY;
212
213 cpp_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
220 cpp_quote("")
221 typedef enum tagLOCKTYPE {
222 LOCK_WRITE = 1,
223 LOCK_EXCLUSIVE = 2,
224 LOCK_ONLYONCE = 4
225 } LOCKTYPE;
226 cpp_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
240 cpp_quote("")
241 [local, object, uuid (D5F56B60-593b-101a-B569-08002b2dbf7a)]
242 interface IRpcChannelBuffer : IUnknown {
243 typedef unsigned long RPCOLEDATAREP;
244 cpp_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;
254 cpp_quote("")
255 typedef RPCOLEMESSAGE *PRPCOLEMESSAGE;
256 cpp_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 }
263 cpp_quote("#endif")
264
265 cpp_quote("")
266 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
267 [local, object, uuid (594f31d0-7f19-11d0-b194-00a0c90dc8bf)]
268 interface IRpcChannelBuffer2 : IRpcChannelBuffer {
269 HRESULT GetProtocolVersion ([out] DWORD *pdwVersion);
270 }
271
272 cpp_quote("")
273 [local, object, uuid (a5029fb6-3c34-11d1-9c99-00c04fb998aa), pointer_default (unique)]
274 interface 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
280 cpp_quote("")
281 [local, object, uuid (25b15600-0115-11d0-BF0D-00aa00b8dfd2)]
282 interface 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
292 cpp_quote("")
293 [local, object, uuid (58a08519-24c8-4935-b482-3fd823333a4f)]
294 interface IRpcSyntaxNegotiate : IUnknown {
295 HRESULT NegotiateSyntax ([in, out] RPCOLEMESSAGE *pMsg);
296 }
297
298 cpp_quote("")
299 [local, object, uuid (D5F56A34-593b-101a-B569-08002b2dbf7a)]
300 interface IRpcProxyBuffer : IUnknown {
301 HRESULT Connect ([in, unique] IRpcChannelBuffer *pRpcChannelBuffer);
302 void Disconnect (void);
303 }
304 cpp_quote("#endif")
305
306 cpp_quote("")
307 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
308 [local, object, uuid (D5F56AFC-593b-101a-B569-08002b2dbf7a)]
309 interface 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
319 cpp_quote("")
320 [local, object, uuid (D5F569D0-593b-101a-B569-08002b2dbf7a)]
321 interface 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 }
325 cpp_quote("#endif")
326
327 cpp_quote("")
328 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
329 cpp_quote("#if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM)")
330 typedef struct SChannelHookCallInfo {
331 IID iid;
332 DWORD cbSize;
333 GUID uCausality;
334 DWORD dwServerPid;
335 DWORD iMethod;
336 void *pObject;
337 } SChannelHookCallInfo;
338
339 cpp_quote("")
340 [local, object, uuid (1008c4a0-7613-11cf-9af1-0020af6e72f4)]
341 interface 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 };
349 cpp_quote("#endif")
350 cpp_quote("#endif")
351
352 cpp_quote("")
353 cpp_quote("#if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM)")
354 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
355 [local, object, uuid (0000013d-0000-0000-C000-000000000046)]
356 interface IClientSecurity : IUnknown {
357 typedef struct tagSOLE_AUTHENTICATION_SERVICE {
358 DWORD dwAuthnSvc;
359 DWORD dwAuthzSvc;
360 OLECHAR *pPrincipalName;
361 HRESULT hr;
362 } SOLE_AUTHENTICATION_SERVICE;
363 cpp_quote("")
364 typedef SOLE_AUTHENTICATION_SERVICE *PSOLE_AUTHENTICATION_SERVICE;
365 cpp_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;
383 cpp_quote("")
384 const OLECHAR *COLE_DEFAULT_PRINCIPAL = (OLECHAR *) ((INT_PTR) -1);
385 const void *COLE_DEFAULT_AUTHINFO = (void *) ((INT_PTR) -1);
386 cpp_quote("")
387 typedef struct tagSOLE_AUTHENTICATION_INFO {
388 DWORD dwAuthnSvc;
389 DWORD dwAuthzSvc;
390 void *pAuthInfo;
391 } SOLE_AUTHENTICATION_INFO,*PSOLE_AUTHENTICATION_INFO;
392 cpp_quote("")
393 typedef struct tagSOLE_AUTHENTICATION_LIST {
394 DWORD cAuthInfo;
395 SOLE_AUTHENTICATION_INFO *aAuthInfo;
396 } SOLE_AUTHENTICATION_LIST,*PSOLE_AUTHENTICATION_LIST;
397 cpp_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 }
402 cpp_quote("#endif")
403
404 cpp_quote("")
405 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
406 [local, object, uuid (0000013e-0000-0000-C000-000000000046)]
407 interface 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
414 cpp_quote("")
415 typedef enum tagRPCOPT_PROPERTIES {
416 COMBND_RPCTIMEOUT = 0x01,
417 COMBND_SERVER_LOCALITY = 0x02,
418 COMBND_RESERVED1 = 0x04
419 } RPCOPT_PROPERTIES;
420
421 cpp_quote("")
422 typedef 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
428 cpp_quote("")
429 [object, local, uuid (00000144-0000-0000-C000-000000000046)]
430 interface 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 }
434 cpp_quote("#endif")
435
436 cpp_quote("")
437 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
438 typedef 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
446 cpp_quote("")
447 typedef 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
454 cpp_quote("")
455 typedef 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
460 cpp_quote("")
461 typedef 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
472 cpp_quote("")
473 typedef 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
479 cpp_quote("")
480 [object, local, pointer_default (unique), uuid (0000015b-0000-0000-C000-000000000046)]
481 interface 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 }
485 cpp_quote("#endif")
486 cpp_quote("#endif")
487
488 cpp_quote("")
489 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
490 [uuid (00000022-0000-0000-C000-000000000046), version (1.0), pointer_default (unique), object]
491 interface ISurrogate : IUnknown {
492 typedef [unique] ISurrogate *LPSURROGATE;
493 cpp_quote("")
494 HRESULT LoadDllServer ([in] REFCLSID Clsid);
495 HRESULT FreeSurrogate ();
496 }
497
498 cpp_quote("")
499 [local, object, uuid (00000146-0000-0000-C000-000000000046)]
500 interface IGlobalInterfaceTable : IUnknown {
501 typedef [unique] IGlobalInterfaceTable *LPGLOBALINTERFACETABLE;
502 cpp_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 };
507 cpp_quote("#endif")
508
509 cpp_quote("")
510 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
511 [object, uuid (00000030-0000-0000-C000-000000000046)]
512 interface ISynchronize : IUnknown {
513 HRESULT Wait ([in] DWORD dwFlags,[in] DWORD dwMilliseconds);
514 HRESULT Signal ();
515 HRESULT Reset ();
516 }
517
518 cpp_quote("")
519 [local, object, uuid (00000031-0000-0000-C000-000000000046)]
520 interface ISynchronizeHandle : IUnknown {
521 HRESULT GetHandle ([out] HANDLE *ph);
522 }
523
524 cpp_quote("")
525 [local, object, uuid (00000032-0000-0000-C000-000000000046)]
526 interface ISynchronizeEvent : ISynchronizeHandle {
527 HRESULT SetEventHandle ([in] HANDLE *ph);
528 }
529
530 cpp_quote("")
531 [local, object, uuid (00000033-0000-0000-C000-000000000046)]
532 interface ISynchronizeContainer : IUnknown {
533 HRESULT AddSynchronize ([in] ISynchronize *pSync);
534 HRESULT WaitMultiple ([in] DWORD dwFlags,[in] DWORD dwTimeOut,[out] ISynchronize **ppSync);
535 }
536
537 cpp_quote("")
538 [local, object, uuid (00000025-0000-0000-C000-000000000046)]
539 interface ISynchronizeMutex : ISynchronize {
540 HRESULT ReleaseMutex ();
541 }
542
543 cpp_quote("")
544 [local, object, uuid (00000029-0000-0000-C000-000000000046)]
545 interface ICancelMethodCalls : IUnknown {
546 typedef [unique] ICancelMethodCalls *LPCANCELMETHODCALLS;
547 cpp_quote("")
548 HRESULT Cancel ([in] ULONG ulSeconds);
549 HRESULT TestCancel (void);
550 }
551
552 cpp_quote("")
553 [local, object, uuid (0000002a-0000-0000-C000-000000000046)]
554 interface 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;
560 cpp_quote("")
561 HRESULT CompleteCall ([in] HRESULT Result);
562 HRESULT GetCallContext ([in] REFIID riid,[out] void **pInterface);
563 HRESULT GetState ([out] ULONG *pulStateFlags);
564 }
565
566 cpp_quote("")
567 [local, object, uuid (1c733a30-2a1c-11ce-ade5-00aa0044773d), pointer_default (unique)]
568 interface ICallFactory : IUnknown {
569 HRESULT CreateCall ([in] REFIID riid,[in] IUnknown *pCtrlUnk,[in] REFIID riid2,[out, iid_is (riid2)] IUnknown **ppv);
570 }
571
572 cpp_quote("")
573 [uuid (00000149-0000-0000-C000-000000000046), version (0.0), pointer_default (unique), local, object]
574 interface IRpcHelper : IUnknown {
575 HRESULT GetDCOMProtocolVersion ([out] DWORD *pComVersion);
576 HRESULT GetIIDFromOBJREF ([in] void *pObjRef,[out] IID **piid);
577 }
578
579 cpp_quote("")
580 [local, object, uuid (eb0cb9e8-7996-11d2-872e-0000f8080859),]
581 interface IReleaseMarshalBuffers : IUnknown {
582 HRESULT ReleaseMarshalBuffer ([in, out] RPCOLEMESSAGE *pMsg,[in] DWORD dwFlags,[in, unique] IUnknown *pChnl);
583 }
584
585 cpp_quote("")
586 [local, object, uuid (0000002b-0000-0000-C000-000000000046)]
587 interface IWaitMultiple : IUnknown {
588 HRESULT WaitMultiple ([in] DWORD timeout,[out] ISynchronize **pSync);
589 HRESULT AddSynchronize ([in] ISynchronize *pSync);
590 }
591
592 cpp_quote("")
593 [local, object, uuid (00000147-0000-0000-C000-000000000046)]
594 interface IAddrTrackingControl : IUnknown {
595 typedef [unique] IAddrTrackingControl *LPADDRTRACKINGCONTROL;
596 HRESULT EnableCOMDynamicAddrTracking ();
597 HRESULT DisableCOMDynamicAddrTracking ();
598 };
599
600 cpp_quote("")
601 [local, object, uuid (00000148-0000-0000-C000-000000000046)]
602 interface 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
610 cpp_quote("")
611 NEW_PIPE_INTERFACE (DB2F3ACA-2f86-11d1-8e04-00c04fb9989a, DB2F3ACB-2f86-11d1-8e04-00c04fb9989a, Byte, BYTE)
612 cpp_quote("")
613 NEW_PIPE_INTERFACE (DB2F3ACC-2f86-11d1-8e04-00c04fb9989a, DB2F3ACD-2f86-11d1-8e04-00c04fb9989a, Long, LONG)
614 cpp_quote("")
615 NEW_PIPE_INTERFACE (DB2F3ACE-2f86-11d1-8e04-00c04fb9989a, DB2F3ACF-2f86-11d1-8e04-00c04fb9989a, Double, DOUBLE)
616
617 cpp_quote("")
618 cpp_quote("#if defined USE_COM_CONTEXT_DEF || defined BUILDTYPE_COMSVCS || defined _COMBASEAPI_ || defined _OLE32_")
619
620 cpp_quote("")
621 typedef DWORD CPFLAGS;
622 cpp_quote("")
623 typedef struct tagContextProperty {
624 GUID policyId;
625 CPFLAGS flags;
626 [unique] IUnknown *pUnk;
627 } ContextProperty;
628
629 cpp_quote("")
630 [local, object, uuid (000001c1-0000-0000-C000-000000000046), pointer_default (unique)]
631 interface IEnumContextProps : IUnknown {
632 typedef [unique] IEnumContextProps *LPENUMCONTEXTPROPS;
633 cpp_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
641 cpp_quote("")
642 [local, object, uuid (000001c0-0000-0000-C000-000000000046), pointer_default (unique)]
643 interface 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 }
649 cpp_quote("#endif")
650 cpp_quote("#endif")
651
652 cpp_quote("")
653 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
654 typedef 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
664 cpp_quote("")
665 typedef enum _APTTYPE {
666 APTTYPE_CURRENT = -1,
667 APTTYPE_STA = 0,
668 APTTYPE_MTA = 1,
669 APTTYPE_NA = 2,
670 APTTYPE_MAINSTA = 3
671 } APTTYPE;
672 cpp_quote("#endif")
673
674 cpp_quote("")
675 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
676 typedef enum _THDTYPE {
677 THDTYPE_BLOCKMESSAGES = 0,
678 THDTYPE_PROCESSMESSAGES = 1
679 } THDTYPE;
680
681 cpp_quote("")
682 typedef DWORD APARTMENTID;
683
684 cpp_quote("")
685 [local, object, uuid (000001ce-0000-0000-C000-000000000046), pointer_default (unique)]
686 interface 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
693 cpp_quote("")
694 [object, pointer_default (unique), uuid (72380d55-8d2b-43a3-8513-2b6ef31434e9)]
695 interface IProcessInitControl : IUnknown {
696 HRESULT ResetInitializerTimeout ([in] DWORD dwSecondsRemaining);
697 };
698
699 cpp_quote("")
700 [object, local, pointer_default (unique), uuid (00000040-0000-0000-C000-000000000046)]
701 interface IFastRundown : IUnknown {
702 };
703
704 cpp_quote("")
705 typedef enum CO_MARSHALING_CONTEXT_ATTRIBUTES {
706 CO_MARSHALING_SOURCE_IS_APP_CONTAINER = 0
707 } CO_MARSHALING_CONTEXT_ATTRIBUTES;
708
709 cpp_quote("")
710 [local, object, uuid (D8F2F5E6-6102-4863-9f26-389a4676efde), pointer_default (unique)]
711 interface IMarshalingStream : IStream {
712 HRESULT GetMarshalingContextAttribute ([in] CO_MARSHALING_CONTEXT_ATTRIBUTES attribute,[out] ULONG_PTR *pAttributeValue);
713 };
714 cpp_quote("#endif")
715
716 cpp_quote("")
717 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
718 cpp_quote("EXTERN_C const GUID IID_ICallbackWithNoReentrancyToApplicationSTA;")
719 cpp_quote("#endif")
720
721 cpp_quote("#define _OBJIDLBASE_")
722 cpp_quote("#endif")