29interface IAsyncManager;
30interface ISynchronize;
32typedef struct _COSERVERINFO {
35 COAUTHINFO *pAuthInfo;
39/******************** Fundamentals ********************/
44 uuid(00000003-0000-0000-C000-000000000046)
46interface IMarshal : IUnknown
48 typedef [unique] IMarshal *LPMARSHAL;
50 HRESULT GetUnmarshalClass(
52 [in, unique] void *pv,
53 [in] DWORD dwDestContext,
54 [in, unique] void *pvDestContext,
58 HRESULT GetMarshalSizeMax(
60 [in, unique] void *pv,
61 [in] DWORD dwDestContext,
62 [in, unique] void *pvDestContext,
66 HRESULT MarshalInterface(
67 [in, unique] IStream *pStm,
69 [in, unique] void *pv,
70 [in] DWORD dwDestContext,
71 [in, unique] void *pvDestContext,
72 [in] DWORD mshlflags);
74 HRESULT UnmarshalInterface(
75 [in, unique] IStream *pStm,
79 HRESULT ReleaseMarshalData(
80 [in, unique] IStream *pStm);
82 HRESULT DisconnectObject(
83 [in] DWORD dwReserved);
89 uuid(94ea2b94-e9cc-49e0-c0ff-ee64ca8f5b90)
91interface IAgileObject : IUnknown
98 uuid(c03f6a43-65a4-9818-987e-e0b810d2a6f2),
99 pointer_default(unique)
101interface IAgileReference : IUnknown
103 HRESULT Resolve([in] REFIID riid, [out, retval, iid_is(riid)] void **object);
109 uuid(ecc8691b-c1db-4dc0-855e-65f6c551af49)
111interface INoMarshal : IUnknown
118 uuid(000001cf-0000-0000-C000-000000000046)
120interface IMarshal2 : IMarshal
122 typedef [unique] IMarshal2 *LPMARSHAL2;
128 uuid(00000018-0000-0000-C000-000000000046)
130interface IStdMarshalInfo : IUnknown
132 typedef [unique] IStdMarshalInfo *LPSTDMARSHALINFO;
134 HRESULT GetClassForHandler(
135 [in] DWORD dwDestContext,
136 [in, unique] void *pvDestContext,
137 [out] CLSID *pClsid);
143 uuid(00000019-0000-0000-C000-000000000046)
145interface IExternalConnection : IUnknown
147 typedef [unique] IExternalConnection *LPEXTERNALCONNECTION;
149 typedef enum tagEXTCONN {
150 EXTCONN_STRONG = 0x0001,
151 EXTCONN_WEAK = 0x0002,
152 EXTCONN_CALLABLE = 0x0004
157 [in] DWORD reserved);
159 DWORD ReleaseConnection(
162 [in] BOOL fLastReleaseCloses);
168 uuid(00000020-0000-0000-C000-000000000046)
170interface IMultiQI : IUnknown
172 typedef [unique] IMultiQI *LPMULTIQI;
174 typedef struct tagMULTI_QI {
180 HRESULT QueryMultipleInterfaces(
182 [in, out] MULTI_QI *pMQIs);
188 uuid(00000002-0000-0000-C000-000000000046)
190interface IMalloc : IUnknown
192 typedef [unique] IMalloc *LPMALLOC;
207 int DidAlloc(LPVOID pv);
215 uuid(00000021-0000-0000-C000-000000000046)
217interface IInternalUnknown : IUnknown
219 HRESULT QueryInternalInterface(
226 uuid(00000100-0000-0000-C000-000000000046),
227 pointer_default(unique)
229interface IEnumUnknown : IUnknown
231 typedef [unique] IEnumUnknown *LPENUMUNKNOWN;
236 [out] IUnknown **rgelt,
237 [out] ULONG *pceltFetched);
242 [out, size_is(celt), length_is(*pceltFetched)]
244 [out] ULONG *pceltFetched);
252 [out] IEnumUnknown **ppenum);
257 uuid(00000022-0000-0000-C000-000000000046),
259 pointer_default(unique)
261interface ISurrogate : IUnknown
263 typedef [unique] ISurrogate *LPSURROGATE;
265 HRESULT LoadDllServer(
266 [in] REFCLSID Clsid);
267 HRESULT FreeSurrogate();
273 uuid(00000146-0000-0000-C000-000000000046)
275interface IGlobalInterfaceTable : IUnknown
277 typedef [unique] IGlobalInterfaceTable *LPGLOBALINTERFACETABLE;
279 HRESULT RegisterInterfaceInGlobal(
282 [out] DWORD *pdwCookie);
284 HRESULT RevokeInterfaceFromGlobal(
285 [in] DWORD dwCookie);
287 HRESULT GetInterfaceFromGlobal(
290 [out, iid_is(riid)] void **ppv);
295 uuid(00000101-0000-0000-C000-000000000046),
296 pointer_default(unique)
298interface IEnumString : IUnknown
300 typedef [unique] IEnumString *LPENUMSTRING;
305 [out, size_is(celt), length_is(*pceltFetched)]
307 [out] ULONG *pceltFetched);
312 [out, size_is(celt), length_is(*pceltFetched)]
314 [out] ULONG *pceltFetched);
322 [out] IEnumString **ppenum);
325/******************** Storage ********************/
329 uuid(0c733a30-2a1c-11ce-ade5-00aa0044773d),
330 pointer_default(unique)
332interface ISequentialStream : IUnknown
336 [out, size_is(cb), length_is(*pcbRead)]
339 [out] ULONG *pcbRead);
343 [out, size_is(cb), length_is(*pcbRead)]
346 [out] ULONG *pcbRead);
350 [in, size_is(cb)] const void *pv,
352 [out] ULONG *pcbWritten);
356 [in, size_is(cb)] const byte *pv,
358 [out] ULONG *pcbWritten);
363 uuid(0000000c-0000-0000-C000-000000000046),
364 pointer_default(unique)
366interface IStream : ISequentialStream
368 typedef [unique] IStream *LPSTREAM;
370 typedef struct tagSTATSTG {
373 ULARGE_INTEGER cbSize;
378 DWORD grfLocksSupported;
384 typedef enum tagSTGTY {
391 typedef enum tagSTREAM_SEEK {
397 /* these are defined in Linux's fcntl.h,
398 * undefine them to avoid conflicts */
399 cpp_quote("#undef LOCK_MAND")
400 cpp_quote("#undef LOCK_READ")
401 cpp_quote("#undef LOCK_WRITE")
402 cpp_quote("#undef LOCK_RW")
404 typedef enum tagLOCKTYPE {
412 [in] LARGE_INTEGER dlibMove,
414 [out] ULARGE_INTEGER *plibNewPosition);
418 [in] LARGE_INTEGER dlibMove,
420 [out] ULARGE_INTEGER *plibNewPosition);
423 [in] ULARGE_INTEGER libNewSize);
427 [in, unique] IStream *pstm,
428 [in] ULARGE_INTEGER cb,
429 [out] ULARGE_INTEGER *pcbRead,
430 [out] ULARGE_INTEGER *pcbWritten);
433 HRESULT RemoteCopyTo(
434 [in, unique] IStream *pstm,
435 [in] ULARGE_INTEGER cb,
436 [out] ULARGE_INTEGER *pcbRead,
437 [out] ULARGE_INTEGER *pcbWritten);
440 [in] DWORD grfCommitFlags);
445 [in] ULARGE_INTEGER libOffset,
446 [in] ULARGE_INTEGER cb,
447 [in] DWORD dwLockType);
449 HRESULT UnlockRegion(
450 [in] ULARGE_INTEGER libOffset,
451 [in] ULARGE_INTEGER cb,
452 [in] DWORD dwLockType);
455 [out] STATSTG *pstatstg,
456 [in] DWORD grfStatFlag);
459 [out] IStream **ppstm);
468 uuid(D5F56B60-593B-101A-B569-08002B2DBF7A)
470interface IRpcChannelBuffer : IUnknown
472 typedef [unique] IRpcChannelBuffer *LPRPCCHANNELBUFFER;
474 typedef unsigned long RPCOLEDATAREP;
476 typedef struct tagRPCOLEMESSAGE {
478 RPCOLEDATAREP dataRepresentation;
486 typedef RPCOLEMESSAGE *PRPCOLEMESSAGE;
489 [in] RPCOLEMESSAGE *pMessage,
493 [in,out] RPCOLEMESSAGE *pMessage,
494 [out] ULONG *pStatus);
497 [in] RPCOLEMESSAGE *pMessage);
500 [out] DWORD *pdwDestContext,
501 [out] void **ppvDestContext);
503 HRESULT IsConnected();
509 uuid(594f31d0-7f19-11d0-b194-00a0c90dc8bf)
511interface IRpcChannelBuffer2 : IRpcChannelBuffer
513 typedef [unique] IRpcChannelBuffer2 *LPRPCCHANNELBUFFER2;
515 HRESULT GetProtocolVersion(
516 [in,out] DWORD *pdwVersion);
522 uuid(25B15600-0115-11d0-BF0D-00AA00B8DFD2)
524interface IRpcChannelBuffer3 : IRpcChannelBuffer2
526 typedef [unique] IRpcChannelBuffer3 *LPRPCCHANNELBUFFER3;
529 [in,out] RPCOLEMESSAGE *pMsg,
530 [out] ULONG *pulStatus);
533 [in,out] RPCOLEMESSAGE *pMsg,
535 [out] ULONG *pulStatus);
538 [in] RPCOLEMESSAGE *pMsg);
540 HRESULT GetCallContext(
541 [in] RPCOLEMESSAGE *pMsg,
543 [out] void **pInterface);
545 HRESULT GetDestCtxEx(
546 [in] RPCOLEMESSAGE *pMsg,
547 [out] DWORD *pdwDestContext,
548 [out] void **ppvDestContext);
551 [in] RPCOLEMESSAGE *pMsg,
552 [out] DWORD *pState);
554 HRESULT RegisterAsync(
555 [in] RPCOLEMESSAGE *pMsg,
556 [in] IAsyncManager *pAsyncMgr);
562 uuid(a5029fb6-3c34-11d1-9c99-00c04fb998aa),
563 pointer_default(unique)
565interface IAsyncRpcChannelBuffer : IRpcChannelBuffer2
568 [in, out] RPCOLEMESSAGE *pMsg,
569 [in] ISynchronize *pSync,
570 [out] ULONG *pulStatus);
573 [in, out] RPCOLEMESSAGE *pMsg,
574 [out] ULONG *pulStatus);
576 HRESULT GetDestCtxEx(
577 [in] RPCOLEMESSAGE *pMsg,
578 [out] DWORD *pdwDestContext,
579 [out] void **ppvDestContext);
585 uuid(58a08519-24c8-4935-b482-3fd823333a4f)
587interface IRpcSyntaxNegotiate : IUnknown
589 HRESULT NegotiateSyntax(
590 [in, out] RPCOLEMESSAGE *pMsg);
596 uuid(D5F56A34-593B-101A-B569-08002B2DBF7A)
598interface IRpcProxyBuffer : IUnknown
600 typedef [unique] IRpcProxyBuffer *LPRPCPROXYBUFFER;
603 [in, unique] IRpcChannelBuffer *pRpcChannelBuffer);
611 uuid(D5F56AFC-593B-101A-B569-08002B2DBF7A)
613interface IRpcStubBuffer : IUnknown
615 typedef [unique] IRpcStubBuffer *LPRPCSTUBBUFFER;
618 [in] IUnknown *pUnkServer);
623 [in] RPCOLEMESSAGE *_prpcmsg,
624 [in] IRpcChannelBuffer *_pRpcChannelBuffer);
626 IRpcStubBuffer *IsIIDSupported(
631 HRESULT DebugServerQueryInterface(
634 void DebugServerRelease(
641 uuid(D5F569D0-593B-101A-B569-08002B2DBF7A)
643interface IPSFactoryBuffer : IUnknown
645 typedef [unique] IPSFactoryBuffer *LPPSFACTORYBUFFER;
648 [in] IUnknown *pUnkOuter,
650 [out] IRpcProxyBuffer **ppProxy,
655 [in, unique] IUnknown *pUnkServer,
656 [out] IRpcStubBuffer **ppStub);
662 uuid(1008c4a0-7613-11cf-9af1-0020af6e72f4)
664interface IChannelHook : IUnknown
666 typedef [unique] IChannelHook *LPCHANNELHOOK;
668 typedef struct SChannelHookCallInfo {
675 } SChannelHookCallInfo;
678 [in] REFGUID uExtent,
680 [out] ULONG *pDataSize);
682 void ClientFillBuffer(
683 [in] REFGUID uExtent,
685 [in, out] ULONG *pDataSize,
686 [in] void *pDataBuffer);
689 [in] REFGUID uExtent,
691 [in] ULONG cbDataSize,
692 [in] void *pDataBuffer,
694 [in] HRESULT hrFault);
697 [in] REFGUID uExtent,
699 [in] ULONG cbDataSize,
700 [in] void *pDataBuffer,
701 [in] DWORD lDataRep);
704 [in] REFGUID uExtent,
706 [in] HRESULT hrFault,
707 [out] ULONG *pDataSize);
709 void ServerFillBuffer(
710 [in] REFGUID uExtent,
712 [in, out] ULONG *pDataSize,
713 [in] void *pDataBuffer,
714 [in] HRESULT hrFault );
717extern const FMTID FMTID_SummaryInformation;
718extern const FMTID FMTID_DocSummaryInformation;
719extern const FMTID FMTID_UserDefinedProperties;
722/******************** Connection Points ********************/
725/******************** DCOM ********************/
730 uuid(0000013D-0000-0000-C000-000000000046)
732interface IClientSecurity : IUnknown
734 typedef struct tagSOLE_AUTHENTICATION_SERVICE {
737 OLECHAR *pPrincipalName;
739 } SOLE_AUTHENTICATION_SERVICE;
741 typedef SOLE_AUTHENTICATION_SERVICE *PSOLE_AUTHENTICATION_SERVICE;
743 typedef struct tagSOLE_AUTHENTICATION_INFO {
747 } SOLE_AUTHENTICATION_INFO;
749 const OLECHAR *COLE_DEFAULT_PRINCIPAL = (OLECHAR*) -1;
750 const void *COLE_DEFAULT_AUTHINFO = (void*) -1;
752 typedef struct tagSOLE_AUTHENTICATION_LIST {
754 SOLE_AUTHENTICATION_INFO *aAuthInfo;
755 } SOLE_AUTHENTICATION_LIST;
757 typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES {
759 EOAC_MUTUAL_AUTH = 0x1,
760 EOAC_SECURE_REFS = 0x2, /* CoInitializeSecurity only */
761 EOAC_ACCESS_CONTROL = 0x4, /* CoInitializeSecurity only */
762 EOAC_APPID = 0x8, /* CoInitializeSecurity only */
763 EOAC_DYNAMIC = 0x10, /* CoInitializeSecurity only */
764 EOAC_STATIC_CLOAKING = 0x20,
765 EOAC_DYNAMIC_CLOAKING = 0x40,
766 EOAC_ANY_AUTHORITY = 0x80,
767 EOAC_MAKE_FULLSIC = 0x100,
768 EOAC_REQUIRE_FULLSIC = 0x200, /* CoInitializeSecurity only */
769 EOAC_AUTO_IMPERSONATE = 0x400, /* CoInitializeSecurity only */
770 EOAC_DEFAULT = 0x800,
771 EOAC_DISABLE_AAA = 0x1000, /* CoInitializeSecurity only */
772 EOAC_NO_CUSTOM_MARSHAL = 0x2000, /* CoInitializeSecurity only */
773 } EOLE_AUTHENTICATION_CAPABILITIES;
775 HRESULT QueryBlanket(
776 [in] IUnknown *pProxy,
777 [out] DWORD *pAuthnSvc,
778 [out] DWORD *pAuthzSvc,
779 [out] OLECHAR **pServerPrincName,
780 [out] DWORD *pAuthnLevel,
781 [out] DWORD *pImpLevel,
782 [out] void **pAuthInfo,
783 [out] DWORD *pCapabilities);
786 [in] IUnknown *pProxy,
789 [in] OLECHAR *pServerPrincName,
790 [in] DWORD AuthnLevel,
792 [in] void *pAuthInfo,
793 [in] DWORD Capabilities);
796 [in] IUnknown *pProxy,
797 [out] IUnknown **ppCopy);
803 uuid(0000013E-0000-0000-C000-000000000046)
805interface IServerSecurity : IUnknown
807 HRESULT QueryBlanket(
808 [out] DWORD *pAuthnSvc,
809 [out] DWORD *pAuthzSvc,
810 [out] OLECHAR **pServerPrincName,
811 [out] DWORD *pAuthnLevel,
812 [out] DWORD *pImpLevel,
814 [out] DWORD *pCapabilities);
816 HRESULT ImpersonateClient();
818 HRESULT RevertToSelf();
820 BOOL IsImpersonating();
826 uuid(00000024-0000-0000-C000-000000000046)
828interface IAsyncSetup : IUnknown
830 HRESULT GetAsyncManager(
832 [in] IUnknown *pOuter,
834 [out] IUnknown **ppInner,
835 [out] IAsyncManager **ppAsyncMgr);
840 uuid(00000030-0000-0000-C000-000000000046)
843interface ISynchronize : IUnknown
847 [in] DWORD dwMilliseconds);
858 uuid(00000031-0000-0000-C000-000000000046)
860interface ISynchronizeHandle : IUnknown
870 uuid(00000032-0000-0000-C000-000000000046)
872interface ISynchronizeEvent : ISynchronizeHandle
874 HRESULT SetEventHandle(
882 uuid(00000033-0000-0000-C000-000000000046)
884interface ISynchronizeContainer : IUnknown
886 HRESULT AddSynchronize(
887 [in] ISynchronize *pSync);
889 HRESULT WaitMultiple(
891 [in] DWORD dwTimeOut,
892 [out] ISynchronize **ppSync);
898 uuid(00000025-0000-0000-C000-000000000046)
900interface ISynchronizeMutex : ISynchronize
902 HRESULT ReleaseMutex();
908 uuid(00000029-0000-0000-C000-000000000046)
911interface ICancelMethodCalls : IUnknown
913 typedef [unique] ICancelMethodCalls *LPCANCELMETHODCALLS;
916 [in] ULONG ulSeconds);
918 HRESULT TestCancel();
924 uuid(0000002A-0000-0000-C000-000000000046)
926interface IAsyncManager : IUnknown
928 typedef enum tagDCOM_CALL_STATE {
930 DCOM_CALL_COMPLETE = 1,
931 DCOM_CALL_CANCELED = 2
934 HRESULT CompleteCall(
935 [in] HRESULT Result);
937 HRESULT GetCallContext(
939 [out] void **pInterface);
942 [out] ULONG *pulStateFlags);
948 uuid(1c733a30-2a1c-11ce-ade5-00aa0044773d),
949 pointer_default(unique)
951interface ICallFactory : IUnknown
955 [in] IUnknown *pCtrlUnk,
957 [out, iid_is(riid2)] IUnknown **ppv);
963 uuid(00000144-0000-0000-C000-000000000046)
965interface IRpcOptions : IUnknown
969 [in] DWORD dwProperty,
970 [in] ULONG_PTR dwValue);
974 [in] DWORD dwProperty,
975 [out] ULONG_PTR *pdwValue);
979 COMBND_RPCTIMEOUT = 1,
980 COMBND_SERVER_LOCALITY = 2
984 SERVER_LOCALITY_PROCESS_LOCAL = 0,
985 SERVER_LOCALITY_MACHINE_LOCAL = 1,
986 SERVER_LOCALITY_REMOTE = 2
992 uuid(00000149-0000-0000-C000-000000000046),
993 pointer_default(unique)
995interface IRpcHelper : IUnknown
997 HRESULT GetDCOMProtocolVersion(
998 [out] DWORD *pComVersion);
1000 HRESULT GetIIDFromOBJREF(
1008 uuid(eb0cb9e8-7996-11d2-872e-0000f8080859)
1010interface IReleaseMarshalBuffers : IUnknown
1012 HRESULT ReleaseMarshalBuffer(
1013 [in] RPCOLEMESSAGE *pMsg,
1015 [in, unique] IUnknown *pChnl);
1021 uuid(0000002B-0000-0000-C000-000000000046)
1023interface IWaitMultiple : IUnknown
1025 HRESULT WaitMultiple(
1027 [out] ISynchronize **pSync);
1028 HRESULT AddSynchronize(
1029 [in] ISynchronize *pSync);
1036 uuid(00000147-0000-0000-C000-000000000046)
1038interface IAddrTrackingControl : IUnknown
1040 typedef [unique] IAddrTrackingControl *LPADDRTRACKINGCONTROL;
1042 HRESULT EnableCOMDynamicAddrTracking();
1043 HRESULT DisableCOMDynamicAddrTracking();
1049 uuid(00000148-0000-0000-C000-000000000046)
1051interface IAddrExclusionControl : IUnknown
1053 typedef [unique] IAddrExclusionControl *LPADDREXCLUSIONCONTROL;
1055 HRESULT GetCurrentAddrExclusionList(
1057 [out, iid_is(riid)] void **ppEnumerator);
1058 HRESULT UpdateAddrExclusionList(
1059 [in] IUnknown *pEnumerator);
1062typedef enum _APTTYPE {
1063 APTTYPE_CURRENT = -1,
1070typedef enum _APTTYPEQUALIFIER {
1071 APTTYPEQUALIFIER_NONE,
1072 APTTYPEQUALIFIER_IMPLICIT_MTA,
1073 APTTYPEQUALIFIER_NA_ON_MTA,
1074 APTTYPEQUALIFIER_NA_ON_STA,
1075 APTTYPEQUALIFIER_NA_ON_IMPLICIT_MTA,
1076 APTTYPEQUALIFIER_NA_ON_MAINSTA
1079typedef enum _THDTYPE {
1080 THDTYPE_BLOCKMESSAGES = 0,
1081 THDTYPE_PROCESSMESSAGES = 1
1087 uuid(000001ce-0000-0000-C000-000000000046),
1088 pointer_default(unique)
1090interface IComThreadingInfo : IUnknown
1092 HRESULT GetCurrentApartmentType(
1093 [out] APTTYPE *pAptType);
1094 HRESULT GetCurrentThreadType(
1095 [out] THDTYPE *pThreadType);
1096 HRESULT GetCurrentLogicalThreadId(
1097 [out] GUID *pguidLogicalThreadId);
1098 HRESULT SetCurrentLogicalThreadId(
1099 [in] REFGUID rguid);
1105 pointer_default(unique),
1106 uuid(72380d55-8d2b-43a3-8513-2b6ef31434e9)
1108interface IProcessInitControl : IUnknown
1110 HRESULT ResetInitializerTimeout(
1111 [in] DWORD dwSecondsRemaining);
1114typedef enum tagGLOBALOPT_PROPERTIES
1116 COMGLB_EXCEPTION_HANDLING = 1,
1118 COMGLB_RPC_THREADPOOL_SETTING = 3,
1119 COMGLB_RO_SETTINGS = 4,
1120 COMGLB_UNMARSHALING_POLICY = 5,
1121 COMGLB_PROPERTIES_RESERVED1 = 6,
1122 COMGLB_PROPERTIES_RESERVED2 = 7,
1123 COMGLB_PROPERTIES_RESERVED3 = 8,
1124} GLOBALOPT_PROPERTIES;
1126typedef enum tagGLOBALOPT_EH_VALUES
1128 COMGLB_EXCEPTION_HANDLE = 0,
1129 COMGLB_EXCEPTION_DONOT_HANDLE_FATAL = 1,
1130 COMGLB_EXCEPTION_DONOT_HANDLE = COMGLB_EXCEPTION_DONOT_HANDLE_FATAL,
1131 COMGLB_EXCEPTION_DONOT_HANDLE_ANY = 2
1132} GLOBALOPT_EH_VALUES;
1134typedef enum tagGLOBALOPT_RPCTP_VALUES
1136 COMGLB_RPC_THREADPOOL_SETTING_DEFAULT_POOL = 0,
1137 COMGLB_RPC_THREADPOOL_SETTING_PRIVATE_POOL = 1
1138} GLOBALOPT_RPCTP_VALUES;
1140typedef enum tagGLOBALOPT_RO_FLAGS
1142 COMGLB_STA_MODALLOOP_REMOVE_TOUCH_MESSAGES = 0x1,
1143 COMGLB_STA_MODALLOOP_SHARED_QUEUE_REMOVE_INPUT_MESSAGES = 0x2,
1144 COMGLB_STA_MODALLOOP_SHARED_QUEUE_DONOT_REMOVE_INPUT_MESSAGES = 0x4,
1145 COMGLB_FAST_RUNDOWN = 0x8,
1146 COMGLB_RESERVED1 = 0x10,
1147 COMGLB_RESERVED2 = 0x20,
1148 COMGLB_RESERVED3 = 0x40,
1149 COMGLB_STA_MODALLOOP_SHARED_QUEUE_REORDER_POINTER_MESSAGES = 0x80,
1150 COMGLB_RESERVED4 = 0x100,
1151 COMGLB_RESERVED5 = 0x200,
1152 COMGLB_RESERVED6 = 0x400,
1153} GLOBALOPT_RO_FLAGS;
1155typedef enum tagGLOBALOPT_UNMARSHALING_POLICY_VALUES
1157 COMGLB_UNMARSHALING_POLICY_NORMAL = 0,
1158 COMGLB_UNMARSHALING_POLICY_STRONG = 1,
1159 COMGLB_UNMARSHALING_POLICY_HYBRID = 2,
1160} GLOBALOPT_UNMARSHALING_POLICY_VALUES;
1165 pointer_default(unique),
1166 uuid(0000015B-0000-0000-C000-000000000046)
1168interface IGlobalOptions : IUnknown
1170 HRESULT Set([in] GLOBALOPT_PROPERTIES property, [in] ULONG_PTR value);
1171 HRESULT Query([in] GLOBALOPT_PROPERTIES property, [out ] ULONG_PTR *value);
1174cpp_quote("#ifdef USE_COM_CONTEXT_DEF")
1176typedef DWORD CPFLAGS;
1178typedef struct tagContextProperty
1182 [unique] IUnknown *pUnk;
1188 uuid(000001c1-0000-0000-C000-000000000046)
1190interface IEnumContextProps : IUnknown
1192 typedef [unique] IEnumContextProps *LPENUMCONTEXTPROPS;
1196 [out, size_is(celt), length_is(*pceltFetched)] ContextProperty *pContextProperties,
1197 [out] ULONG *pceltFetched);
1205 [out] IEnumContextProps **ppEnumContextProps);
1208 [out] ULONG *pcelt);
1214 uuid(000001c0-0000-0000-C000-000000000046)
1216interface IContext : IUnknown
1218 HRESULT SetProperty(
1219 [in] REFGUID policyId,
1221 [in] IUnknown *pUnk);
1223 HRESULT RemoveProperty(
1224 [in] REFGUID policyId);
1226 HRESULT GetProperty(
1228 [out] CPFLAGS *pFlags,
1229 [out] IUnknown **ppUnk);
1231 HRESULT EnumContextProps(
1232 [out] IEnumContextProps **ppEnumContextProps);
1238 uuid(000001c6-0000-0000-c000-000000000046),
1239 pointer_default(unique)
1241interface IObjContext : IContext
CD3D10_BUFFER_DESC D3D10_BUFFER_DESC cpp_quote(" ~CD3D10_BUFFER_DESC() {}") operator const D3D10_BUFFER_DESC &() const