|  | cpp_quote("/**") | 
|  | cpp_quote(" * This file is part of the mingw-w64 runtime package.") | 
|  | cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.") | 
|  | cpp_quote(" */") | 
|  | cpp_quote("") | 
|  | cpp_quote("#include <winapifamily.h>") | 
|  | cpp_quote("") | 
|  | cpp_quote("#if (NTDDI_VERSION >= NTDDI_VISTA && !defined(_WIN32_WINNT))") | 
|  | cpp_quote("#define _WIN32_WINNT 0x0600") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("#if (NTDDI_VERSION >= NTDDI_WS03 && !defined(_WIN32_WINNT))") | 
|  | cpp_quote("#define _WIN32_WINNT 0x0502") | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("") | 
|  | cpp_quote("#if (NTDDI_VERSION >= NTDDI_WINXP && !defined(_WIN32_WINNT))") | 
|  | cpp_quote("#define _WIN32_WINNT 0x0501") | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | #ifndef DO_NO_IMPORTS | 
|  | cpp_quote("") | 
|  |  | 
|  | import "unknwnbase.idl"; | 
|  | import "wtypesbase.idl"; | 
|  | #endif | 
|  |  | 
|  | cpp_quote("") | 
|  | cpp_quote("#ifndef _OBJIDLBASE_") | 
|  | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") | 
|  |  | 
|  | interface IStream; | 
|  | interface IEnumString; | 
|  | interface IMultiQI; | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | cpp_quote("") | 
|  | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") | 
|  | interface IAsyncManager; | 
|  | interface ICallFactory; | 
|  | interface ISynchronize; | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | cpp_quote("") | 
|  | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") | 
|  | typedef struct _COSERVERINFO { | 
|  | DWORD dwReserved1; | 
|  | LPWSTR pwszName; | 
|  | COAUTHINFO *pAuthInfo; | 
|  | DWORD dwReserved2; | 
|  | } COSERVERINFO; | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (00000003-0000-0000-C000-000000000046)] | 
|  | interface IMarshal : IUnknown { | 
|  | typedef [unique] IMarshal *LPMARSHAL; | 
|  | HRESULT GetUnmarshalClass ([in] REFIID riid,[in, unique] void *pv,[in] DWORD dwDestContext,[in, unique] void *pvDestContext,[in] DWORD mshlflags,[out] CLSID *pCid); | 
|  | HRESULT GetMarshalSizeMax ([in] REFIID riid,[in, unique] void *pv,[in] DWORD dwDestContext,[in, unique] void *pvDestContext,[in] DWORD mshlflags,[out] DWORD *pSize); | 
|  | HRESULT MarshalInterface ([in, unique] IStream *pStm,[in] REFIID riid,[in, unique] void *pv,[in] DWORD dwDestContext,[in, unique] void *pvDestContext,[in] DWORD mshlflags); | 
|  | HRESULT UnmarshalInterface ([in, unique] IStream *pStm,[in] REFIID riid,[out] void **ppv); | 
|  | HRESULT ReleaseMarshalData ([in, unique] IStream *pStm); | 
|  | HRESULT DisconnectObject ([in] DWORD dwReserved); | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (ecc8691b-c1db-4dc0-855e-65f6c551af49)] | 
|  | interface INoMarshal : IUnknown { | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (94ea2b94-e9cc-49e0-c0ff-ee64ca8f5b90)] | 
|  | interface IAgileObject : IUnknown { | 
|  | } | 
|  |  | 
|  | [local, object, uuid(c03f6a43-65a4-9818-987e-e0b810d2a6f2), pointer_default(unique)] | 
|  | interface IAgileReference : IUnknown | 
|  | { | 
|  | HRESULT Resolve([in] REFIID riid, [out, retval, iid_is(riid)] void **ppv); | 
|  | } | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | cpp_quote("") | 
|  | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") | 
|  | [local, object, uuid (000001cf-0000-0000-C000-000000000046)] | 
|  | interface IMarshal2 : IMarshal { | 
|  | typedef [unique] IMarshal2 *LPMARSHAL2; | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (00000002-0000-0000-C000-000000000046)] | 
|  | interface IMalloc : IUnknown { | 
|  | typedef [unique] IMalloc *LPMALLOC; | 
|  | cpp_quote("") | 
|  | void *Alloc ([in] SIZE_T cb); | 
|  | void *Realloc ([in] void *pv,[in] SIZE_T cb); | 
|  | void Free ([in] void *pv); | 
|  | SIZE_T GetSize ([in] void *pv); | 
|  | int DidAlloc ([in] void *pv); | 
|  | void HeapMinimize (void); | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (00000018-0000-0000-C000-000000000046)] | 
|  | interface IStdMarshalInfo : IUnknown { | 
|  | typedef [unique] IStdMarshalInfo *LPSTDMARSHALINFO; | 
|  | cpp_quote("") | 
|  | HRESULT GetClassForHandler ([in] DWORD dwDestContext,[in, unique] void *pvDestContext,[out] CLSID *pClsid); | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | [object, local, uuid (00000019-0000-0000-C000-000000000046)] | 
|  | interface IExternalConnection : IUnknown { | 
|  | typedef [unique] IExternalConnection *LPEXTERNALCONNECTION; | 
|  | cpp_quote("") | 
|  | typedef enum tagEXTCONN { | 
|  | EXTCONN_STRONG = 0x0001, | 
|  | EXTCONN_WEAK = 0x0002, | 
|  | EXTCONN_CALLABLE = 0x0004, | 
|  | } EXTCONN; | 
|  | cpp_quote("") | 
|  | DWORD AddConnection ([in] DWORD extconn,[in] DWORD reserved); | 
|  | DWORD ReleaseConnection ([in] DWORD extconn,[in] DWORD reserved,[in] BOOL fLastReleaseCloses); | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | typedef [unique] IMultiQI *LPMULTIQI; | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | cpp_quote("") | 
|  | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") | 
|  | typedef struct tagMULTI_QI { | 
|  | const IID *pIID; | 
|  | IUnknown *pItf; | 
|  | HRESULT hr; | 
|  | } MULTI_QI; | 
|  |  | 
|  | cpp_quote("") | 
|  | [object, local, uuid (00000020-0000-0000-C000-000000000046), | 
|  | async_uuid (000e0020-0000-0000-C000-000000000046)] | 
|  | interface IMultiQI : IUnknown { | 
|  | HRESULT QueryMultipleInterfaces ([in] ULONG cMQIs,[in, out] MULTI_QI *pMQIs); | 
|  | } | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | cpp_quote("") | 
|  | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") | 
|  | [object, local, uuid (00000021-0000-0000-C000-000000000046)] | 
|  | interface IInternalUnknown : IUnknown { | 
|  | HRESULT QueryInternalInterface ([in] REFIID riid,[out] void **ppv); | 
|  | } | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | cpp_quote("") | 
|  | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") | 
|  | [object, uuid (00000100-0000-0000-C000-000000000046), pointer_default (unique)] | 
|  | interface IEnumUnknown : IUnknown { | 
|  | typedef [unique] IEnumUnknown *LPENUMUNKNOWN; | 
|  | cpp_quote("") | 
|  | [local] HRESULT Next ([in] ULONG celt,[out] IUnknown **rgelt,[out] ULONG *pceltFetched); | 
|  | [call_as (Next)] HRESULT RemoteNext ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)] IUnknown **rgelt,[out] ULONG *pceltFetched); | 
|  | HRESULT Skip ([in] ULONG celt); | 
|  | HRESULT Reset (); | 
|  | HRESULT Clone ([out] IEnumUnknown **ppenum); | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | [object, uuid (00000101-0000-0000-C000-000000000046), pointer_default (unique)] | 
|  | interface IEnumString : IUnknown { | 
|  | typedef [unique] IEnumString *LPENUMSTRING; | 
|  | cpp_quote("") | 
|  | [local] HRESULT Next ([in] ULONG celt, LPOLESTR *rgelt, ULONG *pceltFetched); | 
|  | [call_as (Next)] HRESULT RemoteNext ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)]LPOLESTR *rgelt,[out] ULONG *pceltFetched); | 
|  | HRESULT Skip ([in] ULONG celt); | 
|  | HRESULT Reset (); | 
|  | HRESULT Clone ([out] IEnumString **ppenum); | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | [object, uuid (0c733a30-2a1c-11ce-ade5-00aa0044773d), pointer_default (unique)] | 
|  | interface ISequentialStream : IUnknown { | 
|  | [local] HRESULT Read (void *pv,[in] ULONG cb, ULONG *pcbRead); | 
|  | [call_as (Read)] HRESULT RemoteRead ([out, size_is (cb), length_is (*pcbRead)]byte *pv,[in] ULONG cb,[out] ULONG *pcbRead); | 
|  | [local] HRESULT Write (void const *pv,[in] ULONG cb, ULONG *pcbWritten); | 
|  | [call_as (Write)] HRESULT RemoteWrite ([in, size_is (cb)] byte const *pv,[in] ULONG cb,[out] ULONG *pcbWritten); | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | [object, uuid (0000000c-0000-0000-C000-000000000046), pointer_default (unique)] | 
|  | interface IStream : ISequentialStream { | 
|  | typedef [unique] IStream *LPSTREAM; | 
|  | cpp_quote("") | 
|  | typedef struct tagSTATSTG { | 
|  | LPOLESTR pwcsName; | 
|  | DWORD type; | 
|  | ULARGE_INTEGER cbSize; | 
|  | FILETIME mtime; | 
|  | FILETIME ctime; | 
|  | FILETIME atime; | 
|  | DWORD grfMode; | 
|  | DWORD grfLocksSupported; | 
|  | CLSID clsid; | 
|  | DWORD grfStateBits; | 
|  | DWORD reserved; | 
|  | } STATSTG; | 
|  |  | 
|  | cpp_quote("") | 
|  | typedef enum tagSTGTY { | 
|  | STGTY_STORAGE = 1, | 
|  | STGTY_STREAM = 2, | 
|  | STGTY_LOCKBYTES = 3, | 
|  | STGTY_PROPERTY = 4 | 
|  | } STGTY; | 
|  |  | 
|  | cpp_quote("") | 
|  | typedef enum tagSTREAM_SEEK { | 
|  | STREAM_SEEK_SET = 0, | 
|  | STREAM_SEEK_CUR = 1, | 
|  | STREAM_SEEK_END = 2 | 
|  | } STREAM_SEEK; | 
|  |  | 
|  | cpp_quote("") | 
|  | typedef enum tagLOCKTYPE { | 
|  | LOCK_WRITE = 1, | 
|  | LOCK_EXCLUSIVE = 2, | 
|  | LOCK_ONLYONCE = 4 | 
|  | } LOCKTYPE; | 
|  | cpp_quote("") | 
|  | [local] HRESULT Seek ([in] LARGE_INTEGER dlibMove,[in] DWORD dwOrigin, ULARGE_INTEGER *plibNewPosition); | 
|  | [call_as (Seek)] HRESULT RemoteSeek ([in] LARGE_INTEGER dlibMove,[in] DWORD dwOrigin,[out] ULARGE_INTEGER *plibNewPosition); | 
|  | HRESULT SetSize ([in] ULARGE_INTEGER libNewSize); | 
|  | [local] HRESULT CopyTo ([in, unique] IStream *pstm,[in] ULARGE_INTEGER cb, ULARGE_INTEGER *pcbRead, ULARGE_INTEGER *pcbWritten); | 
|  | [call_as (CopyTo)] HRESULT RemoteCopyTo ([in, unique] IStream *pstm,[in] ULARGE_INTEGER cb,[out] ULARGE_INTEGER *pcbRead,[out] ULARGE_INTEGER *pcbWritten); | 
|  | HRESULT Commit ([in] DWORD grfCommitFlags); | 
|  | HRESULT Revert (); | 
|  | HRESULT LockRegion ([in] ULARGE_INTEGER libOffset,[in] ULARGE_INTEGER cb,[in] DWORD dwLockType); | 
|  | HRESULT UnlockRegion ([in] ULARGE_INTEGER libOffset,[in] ULARGE_INTEGER cb,[in] DWORD dwLockType); | 
|  | HRESULT Stat ([out] STATSTG *pstatstg,[in] DWORD grfStatFlag); | 
|  | HRESULT Clone ([out] IStream **ppstm); | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (D5F56B60-593b-101a-B569-08002b2dbf7a)] | 
|  | interface IRpcChannelBuffer : IUnknown { | 
|  | typedef unsigned long RPCOLEDATAREP; | 
|  | cpp_quote("") | 
|  | typedef struct tagRPCOLEMESSAGE { | 
|  | void *reserved1; | 
|  | RPCOLEDATAREP dataRepresentation; | 
|  | void *Buffer; | 
|  | ULONG cbBuffer; | 
|  | ULONG iMethod; | 
|  | void *reserved2[5]; | 
|  | ULONG rpcFlags; | 
|  | } RPCOLEMESSAGE; | 
|  | cpp_quote("") | 
|  | typedef RPCOLEMESSAGE *PRPCOLEMESSAGE; | 
|  | cpp_quote("") | 
|  | HRESULT GetBuffer ([in, out] RPCOLEMESSAGE *pMessage,[in] REFIID riid); | 
|  | HRESULT SendReceive ([in, out] RPCOLEMESSAGE *pMessage,[out] ULONG *pStatus); | 
|  | HRESULT FreeBuffer ([in, out] RPCOLEMESSAGE *pMessage); | 
|  | HRESULT GetDestCtx ([out] DWORD *pdwDestContext,[out] void **ppvDestContext); | 
|  | HRESULT IsConnected (void); | 
|  | } | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | cpp_quote("") | 
|  | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") | 
|  | [local, object, uuid (594f31d0-7f19-11d0-b194-00a0c90dc8bf)] | 
|  | interface IRpcChannelBuffer2 : IRpcChannelBuffer { | 
|  | HRESULT GetProtocolVersion ([out] DWORD *pdwVersion); | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (a5029fb6-3c34-11d1-9c99-00c04fb998aa), pointer_default (unique)] | 
|  | interface IAsyncRpcChannelBuffer : IRpcChannelBuffer2 { | 
|  | HRESULT Send ([in, out] RPCOLEMESSAGE *pMsg,[in] ISynchronize *pSync,[out] ULONG *pulStatus); | 
|  | HRESULT Receive ([in, out] RPCOLEMESSAGE *pMsg,[out] ULONG *pulStatus); | 
|  | HRESULT GetDestCtxEx ([in] RPCOLEMESSAGE *pMsg,[out] DWORD *pdwDestContext,[out] void **ppvDestContext); | 
|  | }; | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (25b15600-0115-11d0-BF0D-00aa00b8dfd2)] | 
|  | interface IRpcChannelBuffer3 : IRpcChannelBuffer2 { | 
|  | HRESULT Send ([in, out] RPCOLEMESSAGE *pMsg,[out] ULONG *pulStatus); | 
|  | HRESULT Receive ([in, out] RPCOLEMESSAGE *pMsg,[in] ULONG ulSize,[out] ULONG *pulStatus); | 
|  | HRESULT Cancel ([in, out] RPCOLEMESSAGE *pMsg); | 
|  | HRESULT GetCallContext ([in] RPCOLEMESSAGE *pMsg,[in] REFIID riid,[out] void **pInterface); | 
|  | HRESULT GetDestCtxEx ([in] RPCOLEMESSAGE *pMsg,[out] DWORD *pdwDestContext,[out] void **ppvDestContext); | 
|  | HRESULT GetState ([in] RPCOLEMESSAGE *pMsg,[out] DWORD *pState); | 
|  | HRESULT RegisterAsync ([in, out] RPCOLEMESSAGE *pMsg,[in] IAsyncManager *pAsyncMgr); | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (58a08519-24c8-4935-b482-3fd823333a4f)] | 
|  | interface IRpcSyntaxNegotiate : IUnknown { | 
|  | HRESULT NegotiateSyntax ([in, out] RPCOLEMESSAGE *pMsg); | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (D5F56A34-593b-101a-B569-08002b2dbf7a)] | 
|  | interface IRpcProxyBuffer : IUnknown { | 
|  | HRESULT Connect ([in, unique] IRpcChannelBuffer *pRpcChannelBuffer); | 
|  | void Disconnect (void); | 
|  | } | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | cpp_quote("") | 
|  | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") | 
|  | [local, object, uuid (D5F56AFC-593b-101a-B569-08002b2dbf7a)] | 
|  | interface IRpcStubBuffer : IUnknown { | 
|  | HRESULT Connect ([in] IUnknown *pUnkServer); | 
|  | void Disconnect (); | 
|  | HRESULT Invoke ([in, out] RPCOLEMESSAGE *_prpcmsg,[in] IRpcChannelBuffer *_pRpcChannelBuffer); | 
|  | IRpcStubBuffer *IsIIDSupported ([in] REFIID riid); | 
|  | ULONG CountRefs (void); | 
|  | HRESULT DebugServerQueryInterface ([out] void **ppv); | 
|  | void DebugServerRelease ([in] void *pv); | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (D5F569D0-593b-101a-B569-08002b2dbf7a)] | 
|  | interface IPSFactoryBuffer : IUnknown { | 
|  | HRESULT CreateProxy ([in] IUnknown *pUnkOuter,[in] REFIID riid,[out] IRpcProxyBuffer **ppProxy,[out] void **ppv); | 
|  | HRESULT CreateStub ([in] REFIID riid,[in, unique] IUnknown *pUnkServer,[out] IRpcStubBuffer **ppStub); | 
|  | } | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | cpp_quote("") | 
|  | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") | 
|  | cpp_quote("#if  (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM)") | 
|  | typedef struct SChannelHookCallInfo { | 
|  | IID iid; | 
|  | DWORD cbSize; | 
|  | GUID uCausality; | 
|  | DWORD dwServerPid; | 
|  | DWORD iMethod; | 
|  | void *pObject; | 
|  | } SChannelHookCallInfo; | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (1008c4a0-7613-11cf-9af1-0020af6e72f4)] | 
|  | interface IChannelHook : IUnknown { | 
|  | void ClientGetSize ([in] REFGUID uExtent,[in] REFIID riid,[out] ULONG *pDataSize); | 
|  | void ClientFillBuffer ([in] REFGUID uExtent,[in] REFIID riid,[in, out] ULONG *pDataSize,[in] void *pDataBuffer); | 
|  | void ClientNotify ([in] REFGUID uExtent,[in] REFIID riid,[in] ULONG cbDataSize,[in] void *pDataBuffer,[in] DWORD lDataRep,[in] HRESULT hrFault); | 
|  | void ServerNotify ([in] REFGUID uExtent,[in] REFIID riid,[in] ULONG cbDataSize,[in] void *pDataBuffer,[in] DWORD lDataRep); | 
|  | void ServerGetSize ([in] REFGUID uExtent,[in] REFIID riid,[in] HRESULT hrFault,[out] ULONG *pDataSize); | 
|  | void ServerFillBuffer ([in] REFGUID uExtent,[in] REFIID riid,[in, out] ULONG *pDataSize,[in] void *pDataBuffer,[in] HRESULT hrFault); | 
|  | }; | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | cpp_quote("") | 
|  | cpp_quote("#if  (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM)") | 
|  | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") | 
|  | [local, object, uuid (0000013d-0000-0000-C000-000000000046)] | 
|  | interface IClientSecurity : IUnknown { | 
|  | typedef struct tagSOLE_AUTHENTICATION_SERVICE { | 
|  | DWORD dwAuthnSvc; | 
|  | DWORD dwAuthzSvc; | 
|  | OLECHAR *pPrincipalName; | 
|  | HRESULT hr; | 
|  | } SOLE_AUTHENTICATION_SERVICE; | 
|  | cpp_quote("") | 
|  | typedef SOLE_AUTHENTICATION_SERVICE *PSOLE_AUTHENTICATION_SERVICE; | 
|  | cpp_quote("") | 
|  | typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES { | 
|  | EOAC_NONE = 0x0, | 
|  | EOAC_MUTUAL_AUTH = 0x1, | 
|  | EOAC_STATIC_CLOAKING = 0x20, | 
|  | EOAC_DYNAMIC_CLOAKING = 0x40, | 
|  | EOAC_ANY_AUTHORITY = 0x80, | 
|  | EOAC_MAKE_FULLSIC = 0x100, | 
|  | EOAC_DEFAULT = 0x800, | 
|  | EOAC_SECURE_REFS = 0x2, | 
|  | EOAC_ACCESS_CONTROL = 0x4, | 
|  | EOAC_APPID = 0x8, | 
|  | EOAC_DYNAMIC = 0x10, | 
|  | EOAC_REQUIRE_FULLSIC = 0x200, | 
|  | EOAC_AUTO_IMPERSONATE = 0x400, | 
|  | EOAC_NO_CUSTOM_MARSHAL = 0x2000, | 
|  | EOAC_DISABLE_AAA = 0x1000 | 
|  | } EOLE_AUTHENTICATION_CAPABILITIES; | 
|  | cpp_quote("") | 
|  | const OLECHAR *COLE_DEFAULT_PRINCIPAL = (OLECHAR *) ((INT_PTR) -1); | 
|  | const void *COLE_DEFAULT_AUTHINFO = (void *) ((INT_PTR) -1); | 
|  | cpp_quote("") | 
|  | typedef struct tagSOLE_AUTHENTICATION_INFO { | 
|  | DWORD dwAuthnSvc; | 
|  | DWORD dwAuthzSvc; | 
|  | void *pAuthInfo; | 
|  | } SOLE_AUTHENTICATION_INFO,*PSOLE_AUTHENTICATION_INFO; | 
|  | cpp_quote("") | 
|  | typedef struct tagSOLE_AUTHENTICATION_LIST { | 
|  | DWORD cAuthInfo; | 
|  | SOLE_AUTHENTICATION_INFO *aAuthInfo; | 
|  | } SOLE_AUTHENTICATION_LIST,*PSOLE_AUTHENTICATION_LIST; | 
|  | cpp_quote("") | 
|  | 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); | 
|  | 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); | 
|  | HRESULT CopyProxy ([in] IUnknown *pProxy,[out] IUnknown **ppCopy); | 
|  | } | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | cpp_quote("") | 
|  | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") | 
|  | [local, object, uuid (0000013e-0000-0000-C000-000000000046)] | 
|  | interface IServerSecurity : IUnknown { | 
|  | HRESULT QueryBlanket ([out] DWORD *pAuthnSvc,[out] DWORD *pAuthzSvc,[out]OLECHAR **pServerPrincName,[out] DWORD *pAuthnLevel,[out] DWORD *pImpLevel,[out] void **pPrivs,[in, out] DWORD *pCapabilities); | 
|  | HRESULT ImpersonateClient (); | 
|  | HRESULT RevertToSelf (); | 
|  | BOOL IsImpersonating (); | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | typedef enum tagRPCOPT_PROPERTIES { | 
|  | COMBND_RPCTIMEOUT = 0x01, | 
|  | COMBND_SERVER_LOCALITY = 0x02, | 
|  | COMBND_RESERVED1 = 0x04 | 
|  | } RPCOPT_PROPERTIES; | 
|  |  | 
|  | cpp_quote("") | 
|  | typedef enum tagRPCOPT_SERVER_LOCALITY_VALUES { | 
|  | SERVER_LOCALITY_PROCESS_LOCAL=0, | 
|  | SERVER_LOCALITY_MACHINE_LOCAL=1, | 
|  | SERVER_LOCALITY_REMOTE=2 | 
|  | } RPCOPT_SERVER_LOCALITY_VALUES; | 
|  |  | 
|  | cpp_quote("") | 
|  | [object, local, uuid (00000144-0000-0000-C000-000000000046)] | 
|  | interface IRpcOptions : IUnknown { | 
|  | HRESULT Set ([in] IUnknown *pPrx,[in] RPCOPT_PROPERTIES dwProperty,[in] ULONG_PTR dwValue); | 
|  | HRESULT Query ([in] IUnknown *pPrx,[in] RPCOPT_PROPERTIES dwProperty,[out] ULONG_PTR *pdwValue); | 
|  | } | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | cpp_quote("") | 
|  | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") | 
|  | typedef enum tagGLOBALOPT_PROPERTIES { | 
|  | COMGLB_EXCEPTION_HANDLING = 1, | 
|  | COMGLB_APPID = 2, | 
|  | COMGLB_RPC_THREADPOOL_SETTING = 3, | 
|  | COMGLB_RO_SETTINGS = 4, | 
|  | COMGLB_UNMARSHALING_POLICY = 5, | 
|  | } GLOBALOPT_PROPERTIES; | 
|  |  | 
|  | cpp_quote("") | 
|  | typedef enum tagGLOBALOPT_EH_VALUES { | 
|  | COMGLB_EXCEPTION_HANDLE=0, | 
|  | COMGLB_EXCEPTION_DONOT_HANDLE_FATAL=1, | 
|  | COMGLB_EXCEPTION_DONOT_HANDLE=COMGLB_EXCEPTION_DONOT_HANDLE_FATAL, | 
|  | COMGLB_EXCEPTION_DONOT_HANDLE_ANY=2 | 
|  | } GLOBALOPT_EH_VALUES; | 
|  |  | 
|  | cpp_quote("") | 
|  | typedef enum tagGLOBALOPT_RPCTP_VALUES { | 
|  | COMGLB_RPC_THREADPOOL_SETTING_DEFAULT_POOL = 0, | 
|  | COMGLB_RPC_THREADPOOL_SETTING_PRIVATE_POOL = 1, | 
|  | } GLOBALOPT_RPCTP_VALUES; | 
|  |  | 
|  | cpp_quote("") | 
|  | typedef enum tagGLOBALOPT_RO_FLAGS { | 
|  | COMGLB_STA_MODALLOOP_REMOVE_TOUCH_MESSAGES = 0x1, | 
|  | COMGLB_STA_MODALLOOP_SHARED_QUEUE_REMOVE_INPUT_MESSAGES = 0x2, | 
|  | COMGLB_STA_MODALLOOP_SHARED_QUEUE_DONOT_REMOVE_INPUT_MESSAGES = 0x4, | 
|  | COMGLB_FAST_RUNDOWN = 0x8, | 
|  | COMGLB_RESERVED1 = 0x10, | 
|  | COMGLB_RESERVED2 = 0x20, | 
|  | COMGLB_RESERVED3 = 0x40, | 
|  | COMGLB_STA_MODALLOOP_SHARED_QUEUE_REORDER_POINTER_MESSAGES = 0x80 | 
|  | } GLOBALOPT_RO_FLAGS; | 
|  |  | 
|  | cpp_quote("") | 
|  | typedef enum tagGLOBALOPT_UNMARSHALING_POLICY_VALUES { | 
|  | COMGLB_UNMARSHALING_POLICY_NORMAL = 0, | 
|  | COMGLB_UNMARSHALING_POLICY_STRONG = 1, | 
|  | COMGLB_UNMARSHALING_POLICY_HYBRID = 2 | 
|  | } GLOBALOPT_UNMARSHALING_POLICY_VALUES; | 
|  |  | 
|  | cpp_quote("") | 
|  | [object, local, pointer_default (unique), uuid (0000015b-0000-0000-C000-000000000046)] | 
|  | interface IGlobalOptions : IUnknown { | 
|  | HRESULT Set ([in] GLOBALOPT_PROPERTIES dwProperty,[in] ULONG_PTR dwValue); | 
|  | HRESULT Query ([in] GLOBALOPT_PROPERTIES dwProperty,[out] ULONG_PTR *pdwValue); | 
|  | } | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | cpp_quote("") | 
|  | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") | 
|  | [uuid (00000022-0000-0000-C000-000000000046), version (1.0), pointer_default (unique), object] | 
|  | interface ISurrogate : IUnknown { | 
|  | typedef [unique] ISurrogate *LPSURROGATE; | 
|  | cpp_quote("") | 
|  | HRESULT LoadDllServer ([in] REFCLSID Clsid); | 
|  | HRESULT FreeSurrogate (); | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (00000146-0000-0000-C000-000000000046)] | 
|  | interface IGlobalInterfaceTable : IUnknown { | 
|  | typedef [unique] IGlobalInterfaceTable *LPGLOBALINTERFACETABLE; | 
|  | cpp_quote("") | 
|  | HRESULT RegisterInterfaceInGlobal ([in] IUnknown *pUnk,[in] REFIID riid,[out] DWORD *pdwCookie); | 
|  | HRESULT RevokeInterfaceFromGlobal ([in] DWORD dwCookie); | 
|  | HRESULT GetInterfaceFromGlobal ([in] DWORD dwCookie,[in] REFIID riid,[out, iid_is (riid)] void **ppv); | 
|  | }; | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | cpp_quote("") | 
|  | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") | 
|  | [object, uuid (00000030-0000-0000-C000-000000000046)] | 
|  | interface ISynchronize : IUnknown { | 
|  | HRESULT Wait ([in] DWORD dwFlags,[in] DWORD dwMilliseconds); | 
|  | HRESULT Signal (); | 
|  | HRESULT Reset (); | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (00000031-0000-0000-C000-000000000046)] | 
|  | interface ISynchronizeHandle : IUnknown { | 
|  | HRESULT GetHandle ([out] HANDLE *ph); | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (00000032-0000-0000-C000-000000000046)] | 
|  | interface ISynchronizeEvent : ISynchronizeHandle { | 
|  | HRESULT SetEventHandle ([in] HANDLE *ph); | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (00000033-0000-0000-C000-000000000046)] | 
|  | interface ISynchronizeContainer : IUnknown { | 
|  | HRESULT AddSynchronize ([in] ISynchronize *pSync); | 
|  | HRESULT WaitMultiple ([in] DWORD dwFlags,[in] DWORD dwTimeOut,[out] ISynchronize **ppSync); | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (00000025-0000-0000-C000-000000000046)] | 
|  | interface ISynchronizeMutex : ISynchronize { | 
|  | HRESULT ReleaseMutex (); | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (00000029-0000-0000-C000-000000000046)] | 
|  | interface ICancelMethodCalls : IUnknown { | 
|  | typedef [unique] ICancelMethodCalls *LPCANCELMETHODCALLS; | 
|  | cpp_quote("") | 
|  | HRESULT Cancel ([in] ULONG ulSeconds); | 
|  | HRESULT TestCancel (void); | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (0000002a-0000-0000-C000-000000000046)] | 
|  | interface IAsyncManager : IUnknown { | 
|  | typedef enum tagDCOM_CALL_STATE { | 
|  | DCOM_NONE = 0x0, | 
|  | DCOM_CALL_COMPLETE = 0x1, | 
|  | DCOM_CALL_CANCELED = 0x2, | 
|  | } DCOM_CALL_STATE; | 
|  | cpp_quote("") | 
|  | HRESULT CompleteCall ([in] HRESULT Result); | 
|  | HRESULT GetCallContext ([in] REFIID riid,[out] void **pInterface); | 
|  | HRESULT GetState ([out] ULONG *pulStateFlags); | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (1c733a30-2a1c-11ce-ade5-00aa0044773d), pointer_default (unique)] | 
|  | interface ICallFactory : IUnknown { | 
|  | HRESULT CreateCall ([in] REFIID riid,[in] IUnknown *pCtrlUnk,[in] REFIID riid2,[out, iid_is (riid2)] IUnknown **ppv); | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | [uuid (00000149-0000-0000-C000-000000000046), version (0.0), pointer_default (unique), local, object] | 
|  | interface IRpcHelper : IUnknown { | 
|  | HRESULT GetDCOMProtocolVersion ([out] DWORD *pComVersion); | 
|  | HRESULT GetIIDFromOBJREF ([in] void *pObjRef,[out] IID **piid); | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (eb0cb9e8-7996-11d2-872e-0000f8080859),] | 
|  | interface IReleaseMarshalBuffers : IUnknown { | 
|  | HRESULT ReleaseMarshalBuffer ([in, out] RPCOLEMESSAGE *pMsg,[in] DWORD dwFlags,[in, unique] IUnknown *pChnl); | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (0000002b-0000-0000-C000-000000000046)] | 
|  | interface IWaitMultiple : IUnknown { | 
|  | HRESULT WaitMultiple ([in] DWORD timeout,[out] ISynchronize **pSync); | 
|  | HRESULT AddSynchronize ([in] ISynchronize *pSync); | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (00000147-0000-0000-C000-000000000046)] | 
|  | interface IAddrTrackingControl : IUnknown { | 
|  | typedef [unique] IAddrTrackingControl *LPADDRTRACKINGCONTROL; | 
|  | HRESULT EnableCOMDynamicAddrTracking (); | 
|  | HRESULT DisableCOMDynamicAddrTracking (); | 
|  | }; | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (00000148-0000-0000-C000-000000000046)] | 
|  | interface IAddrExclusionControl : IUnknown { | 
|  | typedef [unique] IAddrExclusionControl *LPADDREXCLUSIONCONTROL; | 
|  | HRESULT GetCurrentAddrExclusionList ([in]REFIID riid,[out, iid_is (riid)]void **ppEnumerator); | 
|  | HRESULT UpdateAddrExclusionList ([in]IUnknown *pEnumerator); | 
|  | }; | 
|  |  | 
|  | #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); } | 
|  |  | 
|  | cpp_quote("") | 
|  | NEW_PIPE_INTERFACE (DB2F3ACA-2f86-11d1-8e04-00c04fb9989a, DB2F3ACB-2f86-11d1-8e04-00c04fb9989a, Byte, BYTE) | 
|  | cpp_quote("") | 
|  | NEW_PIPE_INTERFACE (DB2F3ACC-2f86-11d1-8e04-00c04fb9989a, DB2F3ACD-2f86-11d1-8e04-00c04fb9989a, Long, LONG) | 
|  | cpp_quote("") | 
|  | NEW_PIPE_INTERFACE (DB2F3ACE-2f86-11d1-8e04-00c04fb9989a, DB2F3ACF-2f86-11d1-8e04-00c04fb9989a, Double, DOUBLE) | 
|  |  | 
|  | cpp_quote("") | 
|  | cpp_quote("#if defined USE_COM_CONTEXT_DEF || defined BUILDTYPE_COMSVCS || defined _COMBASEAPI_ || defined _OLE32_") | 
|  |  | 
|  | cpp_quote("") | 
|  | typedef DWORD CPFLAGS; | 
|  | cpp_quote("") | 
|  | typedef struct tagContextProperty { | 
|  | GUID policyId; | 
|  | CPFLAGS flags; | 
|  | [unique] IUnknown *pUnk; | 
|  | } ContextProperty; | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (000001c1-0000-0000-C000-000000000046), pointer_default (unique)] | 
|  | interface IEnumContextProps : IUnknown { | 
|  | typedef [unique] IEnumContextProps *LPENUMCONTEXTPROPS; | 
|  | cpp_quote("") | 
|  | HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)]ContextProperty *pContextProperties,[out] ULONG *pceltFetched); | 
|  | HRESULT Skip ([in] ULONG celt); | 
|  | HRESULT Reset (); | 
|  | HRESULT Clone ([out] IEnumContextProps **ppEnumContextProps); | 
|  | HRESULT Count ([out] ULONG *pcelt); | 
|  | } | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (000001c0-0000-0000-C000-000000000046), pointer_default (unique)] | 
|  | interface IContext : IUnknown { | 
|  | HRESULT SetProperty ([in] REFGUID rpolicyId,[in] CPFLAGS flags,[in] IUnknown *pUnk); | 
|  | HRESULT RemoveProperty ([in] REFGUID rPolicyId); | 
|  | HRESULT GetProperty ([in] REFGUID rGuid,[out] CPFLAGS *pFlags,[out] IUnknown **ppUnk); | 
|  | HRESULT EnumContextProps ([out] IEnumContextProps **ppEnumContextProps); | 
|  | } | 
|  | cpp_quote("#endif") | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | cpp_quote("") | 
|  | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") | 
|  | typedef enum _APTTYPEQUALIFIER { | 
|  | APTTYPEQUALIFIER_NONE = 0, | 
|  | APTTYPEQUALIFIER_IMPLICIT_MTA = 1, | 
|  | APTTYPEQUALIFIER_NA_ON_MTA = 2, | 
|  | APTTYPEQUALIFIER_NA_ON_STA = 3, | 
|  | APTTYPEQUALIFIER_NA_ON_IMPLICIT_MTA = 4, | 
|  | APTTYPEQUALIFIER_NA_ON_MAINSTA = 5, | 
|  | APTTYPEQUALIFIER_APPLICATION_STA = 6, | 
|  | } APTTYPEQUALIFIER; | 
|  |  | 
|  | cpp_quote("") | 
|  | typedef enum _APTTYPE { | 
|  | APTTYPE_CURRENT = -1, | 
|  | APTTYPE_STA = 0, | 
|  | APTTYPE_MTA = 1, | 
|  | APTTYPE_NA = 2, | 
|  | APTTYPE_MAINSTA = 3 | 
|  | } APTTYPE; | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | cpp_quote("") | 
|  | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") | 
|  | typedef enum _THDTYPE { | 
|  | THDTYPE_BLOCKMESSAGES = 0, | 
|  | THDTYPE_PROCESSMESSAGES = 1 | 
|  | } THDTYPE; | 
|  |  | 
|  | cpp_quote("") | 
|  | typedef DWORD APARTMENTID; | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (000001ce-0000-0000-C000-000000000046), pointer_default (unique)] | 
|  | interface IComThreadingInfo : IUnknown { | 
|  | HRESULT GetCurrentApartmentType ([out] APTTYPE *pAptType); | 
|  | HRESULT GetCurrentThreadType ([out] THDTYPE *pThreadType); | 
|  | HRESULT GetCurrentLogicalThreadId ([out] GUID *pguidLogicalThreadId); | 
|  | HRESULT SetCurrentLogicalThreadId ([in] REFGUID rguid); | 
|  | }; | 
|  |  | 
|  | cpp_quote("") | 
|  | [object, pointer_default (unique), uuid (72380d55-8d2b-43a3-8513-2b6ef31434e9)] | 
|  | interface IProcessInitControl : IUnknown { | 
|  | HRESULT ResetInitializerTimeout ([in] DWORD dwSecondsRemaining); | 
|  | }; | 
|  |  | 
|  | cpp_quote("") | 
|  | [object, local, pointer_default (unique), uuid (00000040-0000-0000-C000-000000000046)] | 
|  | interface IFastRundown : IUnknown { | 
|  | }; | 
|  |  | 
|  | cpp_quote("") | 
|  | typedef enum CO_MARSHALING_CONTEXT_ATTRIBUTES { | 
|  | CO_MARSHALING_SOURCE_IS_APP_CONTAINER = 0 | 
|  | } CO_MARSHALING_CONTEXT_ATTRIBUTES; | 
|  |  | 
|  | cpp_quote("") | 
|  | [local, object, uuid (D8F2F5E6-6102-4863-9f26-389a4676efde), pointer_default (unique)] | 
|  | interface IMarshalingStream : IStream { | 
|  | HRESULT GetMarshalingContextAttribute ([in] CO_MARSHALING_CONTEXT_ATTRIBUTES attribute,[out] ULONG_PTR *pAttributeValue); | 
|  | }; | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | cpp_quote("") | 
|  | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") | 
|  | cpp_quote("EXTERN_C const GUID  IID_ICallbackWithNoReentrancyToApplicationSTA;") | 
|  | cpp_quote("#endif") | 
|  |  | 
|  | cpp_quote("#define _OBJIDLBASE_") | 
|  | cpp_quote("#endif") |