diff --git a/docs/source/interfaces_generated.rst b/docs/source/interfaces_generated.rst index c1e4e53..e0b446b 100644 --- a/docs/source/interfaces_generated.rst +++ b/docs/source/interfaces_generated.rst @@ -2,6 +2,24 @@ Interfaces ---------- +.. class:: IActivationStageInfo + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: SetStageAndIndex + .. method:: GetStage + .. method:: GetIndex + + +.. class:: ICallFactory + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: CreateCall + + .. class:: ICallFrame .. method:: QueryInterface @@ -57,6 +75,42 @@ Interfaces .. method:: GetRegisteredSink +.. class:: IClassFactory + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: CreateInstance + .. method:: LockServer + + +.. class:: IClientSecurity + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: QueryBlanket + .. method:: SetBlanket + .. method:: CopyProxy + + +.. class:: IComCatalog + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetClassInfo + .. method:: GetApplicationInfo + .. method:: GetProcessInfo + .. method:: GetServerGroupInfo + .. method:: GetRetQueueInfo + .. method:: GetApplicationInfoForExe + .. method:: GetTypeLibrary + .. method:: GetInterfaceInfo + .. method:: FlushCache + .. method:: GetClassInfoFromProgId + + .. class:: IDispatch .. method:: QueryInterface @@ -79,6 +133,54 @@ Interfaces .. method:: Clone +.. class:: IInternalUnknown + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: QueryInternalInterface + + +.. class:: IMarshal + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetUnmarshalClass + .. method:: GetMarshalSizeMax + .. method:: MarshalInterface + .. method:: UnmarshalInterface + .. method:: ReleaseMarshalData + .. method:: DisconnectObject + + +.. class:: IMoniker + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetClassID + .. method:: IsDirty + .. method:: Load + .. method:: Save + .. method:: GetSizeMax + .. method:: BindToObject + .. method:: BindToStorage + .. method:: Reduce + .. method:: ComposeWith + .. method:: Enum + .. method:: IsEqual + .. method:: Hash + .. method:: IsRunning + .. method:: GetTimeOfLastChange + .. method:: Inverse + .. method:: CommonPrefixWith + .. method:: RelativePathTo + .. method:: GetDisplayName + .. method:: ParseDisplayName + .. method:: IsSystemMoniker + + .. class:: INetFwPolicy2 .. method:: QueryInterface @@ -112,22 +214,6 @@ Interfaces .. method:: get_LocalPolicyModifyState -.. class:: INetFwRules - - .. method:: QueryInterface - .. method:: AddRef - .. method:: Release - .. method:: GetTypeInfoCount - .. method:: GetTypeInfo - .. method:: GetIDsOfNames - .. method:: Invoke - .. method:: get_Count - .. method:: Add - .. method:: Remove - .. method:: Item - .. method:: get__NewEnum - - .. class:: INetFwRule .. method:: QueryInterface @@ -175,6 +261,22 @@ Interfaces .. method:: put_Action +.. class:: INetFwRules + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: get_Count + .. method:: Add + .. method:: Remove + .. method:: Item + .. method:: get__NewEnum + + .. class:: INetFwServiceRestriction .. method:: QueryInterface @@ -189,6 +291,24 @@ Interfaces .. method:: get_Rules +.. class:: IObjContext + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: SetProperty + .. method:: RemoveProperty + .. method:: GetProperty + .. method:: EnumContextProps + .. method:: Reserved1 + .. method:: Reserved2 + .. method:: Reserved3 + .. method:: Reserved4 + .. method:: Reserved5 + .. method:: Reserved6 + .. method:: Reserved7 + + .. class:: IPersist .. method:: QueryInterface @@ -210,6 +330,16 @@ Interfaces .. method:: GetCurFile +.. class:: IRemUnknown + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: RemQueryInterface + .. method:: RemAddRef + .. method:: RemRelease + + .. class:: IShellLinkA .. method:: QueryInterface @@ -260,6 +390,31 @@ Interfaces .. method:: SetPath +.. class:: IStdIdentity + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + + +.. class:: IStream + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: Read + .. method:: Write + .. method:: Seek + .. method:: SetSize + .. method:: CopyTo + .. method:: Commit + .. method:: Revert + .. method:: LockRegion + .. method:: UnlockRegion + .. method:: Stat + .. method:: Clone + + .. class:: ITypeComp .. method:: QueryInterface @@ -319,6 +474,16 @@ Interfaces .. method:: Release +.. class:: MyCls + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: add + .. method:: dprint + .. method:: tstvalue + + .. class:: IBackgroundCopyCallback .. method:: QueryInterface @@ -500,6 +665,246 @@ Interfaces .. method:: GetCount +.. class:: IActivationProperties + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetUnmarshalClass + .. method:: GetMarshalSizeMax + .. method:: MarshalInterface + .. method:: UnmarshalInterface + .. method:: ReleaseMarshalData + .. method:: DisconnectObject + .. method:: SetDestCtx + .. method:: SetMarshalFlags + .. method:: SetLocalBlob + .. method:: GetLocalBlob + + +.. class:: IActivationPropertiesOut + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetActivationID + .. method:: GetObjectInterface + .. method:: GetObjectInterfaces + .. method:: RemoveRequestedIIDs + + +.. class:: IActivationPropertiesIn + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetActivationID + .. method:: GetClassInfo + .. method:: GetClsctx + .. method:: GetActivationFlags + .. method:: AddRequestedIIDs + .. method:: GetRequestedIIDs + .. method:: DelegateGetClassObject + .. method:: DelegateCreateInstance + .. method:: DelegateCIAndGetCF + .. method:: GetReturnActivationProperties + + +.. class:: IClassClassicInfo + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetThreadingModel + .. method:: GetModulePath + .. method:: GetImplementedClsid + .. method:: GetProcess + .. method:: GetRemoteServerName + .. method:: GetLocalServerType + .. method:: GetSurrogateCommandLine + + +.. class:: IComClassInfo + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetConfiguredClsid + .. method:: GetProgId + .. method:: GetClassName + .. method:: GetApplication + .. method:: GetClassContext + .. method:: GetCustomActivatorCount + .. method:: GetCustomActivatorClsids + .. method:: GetCustomActivators + .. method:: GetTypeInfo + .. method:: IsComPlusConfiguredClass + .. method:: MustRunInClientContext + .. method:: GetVersionNumber + .. method:: Lock + .. method:: Unlock + + +.. class:: IContext + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: SetProperty + .. method:: RemoveProperty + .. method:: GetProperty + .. method:: EnumContextProps + + +.. class:: IEnumContextProps + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: Next + .. method:: Skip + .. method:: Reset + .. method:: Clone + .. method:: Count + + +.. class:: IEnumSTATSTG + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: Next + .. method:: Skip + .. method:: Reset + .. method:: Clone + + +.. class:: IInitActivationPropertiesIn + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: SetClsctx + .. method:: SetActivationFlags + .. method:: SetClassInfo + .. method:: SetContextInfo + .. method:: SetConstructFromStorage + .. method:: SetConstructFromFile + + +.. class:: IOpaqueDataInfo + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: AddOpaqueData + .. method:: GetOpaqueData + .. method:: DeleteOpaqueData + .. method:: GetOpaqueDataCount + .. method:: GetAllOpaqueData + + +.. class:: IPrivActivationPropertiesIn + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetActivationID + .. method:: GetClassInfo + .. method:: GetClsctx + .. method:: GetActivationFlags + .. method:: AddRequestedIIDs + .. method:: GetRequestedIIDs + .. method:: DelegateGetClassObject + .. method:: DelegateCreateInstance + .. method:: DelegateCIAndGetCF + .. method:: GetReturnActivationProperties + .. method:: PrivGetReturnActivationProperties + .. method:: GetCOMVersion + .. method:: GetClsid + .. method:: GetClientToken + .. method:: GetDestCtx + + +.. class:: IPrivActivationPropertiesOut + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetActivationID + .. method:: GetObjectInterface + .. method:: GetObjectInterfaces + .. method:: RemoveRequestedIIDs + .. method:: SetObjectInterfaces + .. method:: SetMarshalledResults + .. method:: GetMarshalledResults + + +.. class:: IScmReplyInfo + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: SetResolverInfo + .. method:: GetResolverInfo + .. method:: SetRemoteReplyInfo + .. method:: GetRemoteReplyInfo + + +.. class:: IScmRequestInfo + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: SetScmInfo + .. method:: GetScmInfo + .. method:: SetRemoteRequestInfo + .. method:: GetRemoteRequestInfo + + +.. class:: IStandardActivator + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: StandardGetClassObject + .. method:: StandardCreateInstance + .. method:: StandardGetInstanceFromFile + .. method:: StandardGetInstanceFromIStorage + .. method:: Reset + + +.. class:: IStorage + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: CreateStream + .. method:: OpenStream + .. method:: CreateStorage + .. method:: OpenStorage + .. method:: CopyTo + .. method:: MoveElementTo + .. method:: Commit + .. method:: Revert + .. method:: EnumElements + .. method:: DestroyElement + .. method:: RenameElement + .. method:: SetElementTimes + .. method:: SetClass + .. method:: SetStateBits + .. method:: Stat + + +.. class:: ISystemActivator + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetClassObject + .. method:: CreateInstance + + .. class:: IBindCtx .. method:: QueryInterface @@ -576,33 +981,6 @@ Interfaces .. method:: EnumSubCommands -.. class:: IMoniker - - .. method:: QueryInterface - .. method:: AddRef - .. method:: Release - .. method:: GetClassID - .. method:: IsDirty - .. method:: Load - .. method:: Save - .. method:: GetSizeMax - .. method:: BindToObject - .. method:: BindToStorage - .. method:: Reduce - .. method:: ComposeWith - .. method:: Enum - .. method:: IsEqual - .. method:: Hash - .. method:: IsRunning - .. method:: GetTimeOfLastChange - .. method:: Inverse - .. method:: CommonPrefixWith - .. method:: RelativePathTo - .. method:: GetDisplayName - .. method:: ParseDisplayName - .. method:: IsSystemMoniker - - .. class:: IRunningObjectTable .. method:: QueryInterface @@ -643,22 +1021,30 @@ Interfaces .. method:: EnumItems -.. class:: IStream +.. class:: IProxyManager .. method:: QueryInterface .. method:: AddRef .. method:: Release - .. method:: Read - .. method:: Write - .. method:: Seek - .. method:: SetSize - .. method:: CopyTo - .. method:: Commit - .. method:: Revert - .. method:: LockRegion - .. method:: UnlockRegion - .. method:: Stat - .. method:: Clone + .. method:: CreateServer + .. method:: IsConnected + .. method:: LockConnection + .. method:: Disconnect + .. method:: GetConnectionStatus + .. method:: ScalarDeletingDestructor + .. method:: SetMapping + .. method:: GetMapping + .. method:: GetServerObjectContext + .. method:: GetWrapperForContex + + +.. class:: IProxyServerIdentity + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetServerProcessId + .. method:: GetServerProcessHandle .. class:: IApplicationActivationManager @@ -701,6 +1087,63 @@ Interfaces .. method:: OnStateChanged +.. class:: IChannelHook + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: ClientGetSize + .. method:: ClientFillBuffer + .. method:: ClientNotify + .. method:: ServerNotify + .. method:: ServerGetSize + .. method:: ServerFillBuffer + + +.. class:: IRpcChannelBuffer + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetBuffer + .. method:: SendReceive + .. method:: FreeBuffer + .. method:: GetDestCtx + .. method:: IsConnected + + +.. class:: IRpcHelper + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetDCOMProtocolVersion + .. method:: GetIIDFromOBJREF + + +.. class:: IRpcOptions + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: Set + .. method:: Query + + +.. class:: IRpcStubBuffer + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: Connect + .. method:: Disconnect + .. method:: Invoke + .. method:: IsIIDSupported + .. method:: CountRefs + .. method:: DebugServerQueryInterface + .. method:: DebugServerRelease + + .. class:: IAction .. method:: QueryInterface diff --git a/docs/source/windef_generated.rst b/docs/source/windef_generated.rst index 834a0c3..06cb546 100644 --- a/docs/source/windef_generated.rst +++ b/docs/source/windef_generated.rst @@ -299,6 +299,32 @@ WinDef .. autodata:: BIND_IF_SYNTAX_NDR32 .. autodata:: BIND_IF_SYNTAX_NDR64 .. autodata:: BIND_IF_SYNTAX_UNKNOWN +.. autodata:: ORPCF_NULL +.. autodata:: ORPCF_LOCAL +.. autodata:: ORPCF_RESERVED1 +.. autodata:: ORPCF_RESERVED2 +.. autodata:: ORPCF_RESERVED3 +.. autodata:: ORPCF_RESERVED4 +.. autodata:: ORPCF_INPUT_SYNC +.. autodata:: ORPCF_ASYNC +.. autodata:: ORPCF_DYNAMIC_CLOAKING +.. autodata:: ORPCF_REJECTED +.. autodata:: ORPCF_RETRY_LATER +.. autodata:: OBJREF_SIGNATURE +.. autodata:: OBJREF_STANDARD +.. autodata:: OBJREF_HANDLER +.. autodata:: OBJREF_CUSTOM +.. autodata:: OBJREF_EXTENDED +.. autodata:: SORF_OXRES1 +.. autodata:: SORF_OXRES2 +.. autodata:: SORF_OXRES3 +.. autodata:: SORF_OXRES4 +.. autodata:: SORF_OXRES5 +.. autodata:: SORF_OXRES6 +.. autodata:: SORF_OXRES7 +.. autodata:: SORF_OXRES8 +.. autodata:: SORF_NULL +.. autodata:: SORF_NOPING .. autodata:: FILE_DEVICE_8042_PORT .. autodata:: FILE_DEVICE_ACPI .. autodata:: FILE_DEVICE_BATTERY diff --git a/docs/source/winfuncs_generated.rst b/docs/source/winfuncs_generated.rst index f040219..b28c738 100644 --- a/docs/source/winfuncs_generated.rst +++ b/docs/source/winfuncs_generated.rst @@ -164,6 +164,14 @@ Functions .. function:: SysFreeString(bstrString) +.. function:: CreateStreamOnHGlobal(hGlobal, fDeleteOnRelease, ppstm) + +.. function:: GetHGlobalFromStream(pstm, phglobal) + +.. function:: CoMarshalInterface(pStm, riid, pUnk, dwDestContext, pvDestContext, mshlflags) + +.. function:: CoUnmarshalInterface(pStm, riid, ppv) + .. function:: CryptCATAdminCalcHashFromFileHandle(hFile, pcbHash, pbHash, dwFlags) .. function:: CryptCATAdminCalcHashFromFileHandle2(hCatAdmin, hFile, pcbHash, pbHash, dwFlags) @@ -978,12 +986,6 @@ Functions .. function:: SymEnumSymbolsEx(hProcess, BaseOfDll, Mask, EnumSymbolsCallback, UserContext, Options) -.. function:: SymEnumTypes(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext) - -.. function:: SymEnumTypesByName(hProcess, BaseOfDll, mask, EnumSymbolsCallback, UserContext) - -.. function:: SymEnumTypesByNameW(hProcess, BaseOfDll, mask, EnumSymbolsCallback, UserContext) - .. function:: SymEnumerateModules64(hProcess, EnumModulesCallback, UserContext) .. function:: SymEnumerateModulesW64(hProcess, EnumModulesCallback, UserContext) @@ -1072,6 +1074,14 @@ Functions .. function:: SymSetSearchPathW(hProcess, SearchPath) +.. function:: SymEnumTypes(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext) + +.. function:: SymEnumTypesW(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext) + +.. function:: SymEnumTypesByName(hProcess, BaseOfDll, mask, EnumSymbolsCallback, UserContext) + +.. function:: SymEnumTypesByNameW(hProcess, BaseOfDll, mask, EnumSymbolsCallback, UserContext) + .. function:: CreateEventA(lpEventAttributes, bManualReset, bInitialState, lpName) .. function:: CreateEventW(lpEventAttributes, bManualReset, bInitialState, lpName) diff --git a/docs/source/winstructs_generated.rst b/docs/source/winstructs_generated.rst index 14a33fc..96521ba 100644 --- a/docs/source/winstructs_generated.rst +++ b/docs/source/winstructs_generated.rst @@ -131,6 +131,10 @@ Simple types .. autoclass:: OLECHAR +.. class:: SNB + + Pointer to :class:`POINTER(OLECHAR)` + .. autoclass:: POLECHAR .. autoclass:: PZZWSTR @@ -221,9 +225,7 @@ Simple types .. autoclass:: LRESULT -.. class:: LPUNKNOWN - - Pointer to :class:`PVOID` +.. autoclass:: LPUNKNOWN .. class:: LPPOINT @@ -245,6 +247,10 @@ Simple types .. autoclass:: NET_API_STATUS +.. autoclass:: PVOID32 + +.. autoclass:: PVOID64 + .. autoclass:: NCRYPT_HANDLE .. autoclass:: NCRYPT_PROV_HANDLE @@ -415,6 +421,18 @@ Simple types .. autoclass:: SFGAOF +.. autoclass:: ID + +.. autoclass:: MID + +.. autoclass:: OXID + +.. autoclass:: OID + +.. autoclass:: SETID + +.. autoclass:: LPSTREAM + .. autoclass:: GROUP .. autoclass:: SOCKET @@ -588,6 +606,10 @@ _BG_FILE_RANGE _GUID ''''' +.. class:: CID + + Alias for :class:`_GUID` + .. class:: CLSID Alias for :class:`_GUID` @@ -600,6 +622,10 @@ _GUID Alias for :class:`_GUID` +.. class:: IPID + + Alias for :class:`_GUID` + .. class:: LPCGUID Pointer to :class:`_GUID` @@ -624,6 +650,10 @@ _GUID Pointer to :class:`_GUID` +.. class:: REFIPID + + Pointer to :class:`_GUID` + .. class:: _GUID .. attribute:: Data1 @@ -2015,6 +2045,1196 @@ __tagVARIANT :class:`_ANON_TMP_variant_sub_union` +tagOpaqueData +''''''''''''' +.. class:: OpaqueData + + Alias for :class:`tagOpaqueData` + +.. class:: tagOpaqueData + + .. attribute:: guid + + :class:`GUID` + + + .. attribute:: dataLength + + :class:`ULONG` + + + .. attribute:: reserved1 + + :class:`ULONG` + + + .. attribute:: reserved2 + + :class:`ULONG` + + + .. attribute:: data + + :class:`BYTE` + +tagSTDOBJREF +'''''''''''' +.. class:: STDOBJREF + + Alias for :class:`tagSTDOBJREF` + +.. class:: tagSTDOBJREF + + .. attribute:: flags + + :class:`ULONG` + + + .. attribute:: cPublicRefs + + :class:`ULONG` + + + .. attribute:: oxid + + :class:`OXID` + + + .. attribute:: oid + + :class:`OID` + + + .. attribute:: ipid + + :class:`IPID` + +tagDATAELEMENT +'''''''''''''' +.. class:: DATAELEMENT + + Alias for :class:`tagDATAELEMENT` + +.. class:: PDATAELEMENT + + Pointer to :class:`tagDATAELEMENT` + +.. class:: tagDATAELEMENT + + .. attribute:: dataID + + :class:`GUID` + + + .. attribute:: cbSize + + :class:`ULONG` + + + .. attribute:: cbRounded + + :class:`ULONG` + + + .. attribute:: Data + + :class:`BYTE` + +tagOBJREFDATA +''''''''''''' +.. class:: OBJREFDATA + + Alias for :class:`tagOBJREFDATA` + +.. class:: tagOBJREFDATA + + .. attribute:: nElms + + :class:`ULONG` + + + .. attribute:: ppElmArray + + :class:`PDATAELEMENT` + +tagDUALSTRINGARRAY +'''''''''''''''''' +.. class:: DUALSTRINGARRAY + + Alias for :class:`tagDUALSTRINGARRAY` + +.. class:: tagDUALSTRINGARRAY + + .. attribute:: wNumEntries + + :class:`USHORT` + + + .. attribute:: wSecurityOffset + + :class:`USHORT` + + + .. attribute:: aStringArray + + :class:`USHORT` + +tagOBJREF +''''''''' +.. class:: OBJREF + + Alias for :class:`tagOBJREF` + +.. class:: tagOBJREF + + .. attribute:: signature + + :class:`ULONG` + + + .. attribute:: flags + + :class:`ULONG` + + + .. attribute:: iid + + :class:`GUID` + + + .. attribute:: u_objref + + :class:`_ANON_TAGOBJREF_SUB_UNION_1` + +tagCOMVERSION +''''''''''''' +.. class:: COMVERSION + + Alias for :class:`tagCOMVERSION` + +.. class:: tagCOMVERSION + + .. attribute:: MajorVersion + + :class:`USHORT` + + + .. attribute:: MinorVersion + + :class:`USHORT` + +tagORPC_EXTENT +'''''''''''''' +.. class:: ORPC_EXTENT + + Alias for :class:`tagORPC_EXTENT` + +.. class:: PORPC_EXTENT + + Alias for :class:`tagORPC_EXTENT` + +.. class:: tagORPC_EXTENT + + .. attribute:: id + + :class:`_GUID` + + + .. attribute:: size + + :class:`ULONG` + + + .. attribute:: data + + :class:`BYTE` + +tagORPC_EXTENT_ARRAY +'''''''''''''''''''' +.. class:: ORPC_EXTENT_ARRAY + + Alias for :class:`tagORPC_EXTENT_ARRAY` + +.. class:: tagORPC_EXTENT_ARRAY + + .. attribute:: size + + :class:`ULONG` + + + .. attribute:: reserved + + :class:`ULONG` + + + .. attribute:: extent + + :class:`PORPC_EXTENT` + +tagORPCTHIS +''''''''''' +.. class:: ORPCTHIS + + Alias for :class:`tagORPCTHIS` + +.. class:: tagORPCTHIS + + .. attribute:: version + + :class:`COMVERSION` + + + .. attribute:: flags + + :class:`ULONG` + + + .. attribute:: reserved1 + + :class:`ULONG` + + + .. attribute:: cid + + :class:`GUID` + + + .. attribute:: extensions + + :class:`PVOID` + +tagORPCTHIS32 +''''''''''''' +.. class:: ORPCTHIS32 + + Alias for :class:`tagORPCTHIS32` + +.. class:: tagORPCTHIS32 + + .. attribute:: version + + :class:`COMVERSION` + + + .. attribute:: flags + + :class:`ULONG` + + + .. attribute:: reserved1 + + :class:`ULONG` + + + .. attribute:: cid + + :class:`GUID` + + + .. attribute:: extensions + + :class:`PVOID32` + +tagOXID_INFO +'''''''''''' +.. class:: OXID_INFO + + Alias for :class:`tagOXID_INFO` + +.. class:: tagOXID_INFO + + .. attribute:: dwTid + + :class:`DWORD` + + + .. attribute:: dwPid + + :class:`DWORD` + + + .. attribute:: dwAuthnHint + + :class:`DWORD` + + + .. attribute:: version + + :class:`COMVERSION` + + + .. attribute:: ipidRemUnknown + + :class:`IPID` + + + .. attribute:: dwFlags + + :class:`DWORD` + + + .. attribute:: psa + + :class:`DUALSTRINGARRAY` + +tagContextProperty +'''''''''''''''''' +.. class:: ContextProperty + + Alias for :class:`tagContextProperty` + +.. class:: tagContextProperty + + .. attribute:: policyId + + :class:`GUID` + + + .. attribute:: flags + + :class:`CPFLAGS` + + + .. attribute:: pUnk + + :class:`PVOID` + +_PRIV_SCM_INFO +'''''''''''''' +.. class:: PRIV_SCM_INFO + + Alias for :class:`_PRIV_SCM_INFO` + +.. class:: _PRIV_SCM_INFO + + .. attribute:: Apartment + + :class:`LONG` + + + .. attribute:: pwszWinstaDesktop + + :class:`WCHAR` + + + .. attribute:: ProcessSignature + + :class:`ULONG64` + + + .. attribute:: pEnvBlock + + :class:`WCHAR` + + + .. attribute:: EnvBlockLength + + :class:`DWORD` + +_REMOTE_REQUEST_SCM_INFO +'''''''''''''''''''''''' +.. class:: REMOTE_REQUEST_SCM_INFO + + Alias for :class:`_REMOTE_REQUEST_SCM_INFO` + +.. class:: _REMOTE_REQUEST_SCM_INFO + + .. attribute:: ClientImpLevel + + :class:`DWORD` + + + .. attribute:: cRequestedProtseqs + + :class:`USHORT` + + + .. attribute:: pRequestedProtseqs + + :class:`USHORT` + +tagMInterfacePointer +'''''''''''''''''''' +.. class:: MInterfacePointer + + Alias for :class:`tagMInterfacePointer` + +.. class:: PMInterfacePointer + + Pointer to :class:`tagMInterfacePointer` + +.. class:: tagMInterfacePointer + + .. attribute:: ulCntData + + :class:`ULONG` + + + .. attribute:: abData + + :class:`BYTE` + +tagRPCOLEMESSAGE +'''''''''''''''' +.. class:: PRPCOLEMESSAGE + + Pointer to :class:`tagRPCOLEMESSAGE` + +.. class:: RPCOLEMESSAGE + + Alias for :class:`tagRPCOLEMESSAGE` + +.. class:: tagRPCOLEMESSAGE + + .. attribute:: reserved1 + + :class:`PVOID` + + + .. attribute:: dataRepresentation + + :class:`RPCOLEDATAREP` + + + .. attribute:: Buffer + + :class:`PVOID` + + + .. attribute:: cbBuffer + + :class:`ULONG` + + + .. attribute:: iMethod + + :class:`ULONG` + + + .. attribute:: reserved2 + + :class:`PVOID` ``[5]`` + + + .. attribute:: rpcFlags + + :class:`ULONG` + +tagREMQIRESULT +'''''''''''''' +.. class:: PREMQIRESULT + + Pointer to :class:`tagREMQIRESULT` + +.. class:: REMQIRESULT + + Alias for :class:`tagREMQIRESULT` + +.. class:: tagREMQIRESULT + + .. attribute:: hResult + + :class:`HRESULT` + + + .. attribute:: std + + :class:`STDOBJREF` + +tagREMINTERFACEREF +'''''''''''''''''' +.. class:: REMINTERFACEREF + + Alias for :class:`tagREMINTERFACEREF` + +.. class:: tagREMINTERFACEREF + + .. attribute:: ipid + + :class:`IPID` + + + .. attribute:: cPublicRefs + + :class:`ULONG` + + + .. attribute:: cPrivateRefs + + :class:`ULONG` + +_PRIV_RESOLVER_INFO_LEGACY +'''''''''''''''''''''''''' +.. class:: PPRIV_RESOLVER_INFO_LEGACY + + Pointer to :class:`_PRIV_RESOLVER_INFO_LEGACY` + +.. class:: PRIV_RESOLVER_INFO_LEGACY + + Alias for :class:`_PRIV_RESOLVER_INFO_LEGACY` + +.. class:: _PRIV_RESOLVER_INFO_LEGACY + + .. attribute:: OxidServer + + :class:`OXID` + + + .. attribute:: pServerORBindings + + :class:`DUALSTRINGARRAY` + + + .. attribute:: OxidInfo + + :class:`OXID_INFO` + + + .. attribute:: LocalMidOfRemote + + :class:`MID` + + + .. attribute:: DllServerModel + + :class:`DWORD` + + + .. attribute:: pwszDllServer + + :class:`WCHAR` + + + .. attribute:: FoundInROT + + :class:`BOOL` + +_REMOTE_REPLY_SCM_INFO +'''''''''''''''''''''' +.. class:: PREMOTE_REPLY_SCM_INFO + + Pointer to :class:`_REMOTE_REPLY_SCM_INFO` + +.. class:: REMOTE_REPLY_SCM_INFO + + Alias for :class:`_REMOTE_REPLY_SCM_INFO` + +.. class:: _REMOTE_REPLY_SCM_INFO + + .. attribute:: Oxid + + :class:`OXID` + + + .. attribute:: pdsaOxidBindings + + :class:`DUALSTRINGARRAY` + + + .. attribute:: ipidRemUnknown + + :class:`IPID` + + + .. attribute:: authnHint + + :class:`DWORD` + + + .. attribute:: serverVersion + + :class:`COMVERSION` + +CONTAINER_EXTENT +'''''''''''''''' +.. class:: CONTAINER_EXTENT + + .. attribute:: id + + :class:`UINT` + + + .. attribute:: version + + :class:`UINT` + + + .. attribute:: size + + :class:`UINT` + + + .. attribute:: data + + :class:`BYTE` + +CONTAINER_EXTENT_ARRAY +'''''''''''''''''''''' +.. class:: CONTAINER_EXTENT_ARRAY + + .. attribute:: size + + :class:`UINT` + + + .. attribute:: reserved + + :class:`UINT` + + + .. attribute:: extent + + :class:`CONTAINER_EXTENT` + +HSTRING__ +''''''''' +.. class:: HSTRING__ + + .. attribute:: unused + + :class:`INT` + +CONTAINERVERSION +'''''''''''''''' +.. class:: CONTAINERVERSION + + .. attribute:: version + + :class:`UINT` + + + .. attribute:: capabilityFlags + + :class:`UINT64` + + + .. attribute:: extensions + + :class:`CONTAINER_EXTENT_ARRAY` + +_MIDL_ILocalObjectExporter_0007 +''''''''''''''''''''''''''''''' +.. class:: MIDL_ILocalObjectExporter_0007 + + Alias for :class:`_MIDL_ILocalObjectExporter_0007` + +.. class:: _MIDL_ILocalObjectExporter_0007 + + .. attribute:: dwTid + + :class:`ULONG` + + + .. attribute:: dwPid + + :class:`ULONG` + + + .. attribute:: dwAuthnHint + + :class:`ULONG` + + + .. attribute:: dcomVersion + + :class:`tagCOMVERSION` + + + .. attribute:: containerVersion + + :class:`CONTAINERVERSION` + + + .. attribute:: ipidRemUnknown + + :class:`_GUID` + + + .. attribute:: dwFlags + + :class:`ULONG` + + + .. attribute:: psa + + :class:`tagDUALSTRINGARRAY` + + + .. attribute:: guidProcessIdentifier + + :class:`_GUID` + + + .. attribute:: processHostId + + :class:`UINT64` + + + .. attribute:: clientDependencyBehavior + + :class:`INT` + + + .. attribute:: packageFullName + + :class:`HSTRING__` + + + .. attribute:: userSid + + :class:`HSTRING__` + + + .. attribute:: appcontainerSid + + :class:`HSTRING__` + + + .. attribute:: primaryOxid + + :class:`UINT64` + + + .. attribute:: primaryIpidRemUnknown + + :class:`_GUID` + +_PRIV_RESOLVER_INFO +''''''''''''''''''' +.. class:: PPRIV_RESOLVER_INFO + + Pointer to :class:`_PRIV_RESOLVER_INFO` + +.. class:: PRIV_RESOLVER_INFO + + Alias for :class:`_PRIV_RESOLVER_INFO` + +.. class:: _PRIV_RESOLVER_INFO + + .. attribute:: OxidServer + + :class:`UINT64` + + + .. attribute:: pServerORBindings + + :class:`tagDUALSTRINGARRAY` + + + .. attribute:: OxidInfo + + :class:`MIDL_ILocalObjectExporter_0007` + + + .. attribute:: LocalMidOfRemote + + :class:`UINT64` + + + .. attribute:: FoundInROT + + :class:`INT` + +_MIDL_XmitDefs_0001 +''''''''''''''''''' +.. class:: MIDL_XmitDefs_0001 + + Alias for :class:`_MIDL_XmitDefs_0001` + +.. class:: _MIDL_XmitDefs_0001 + + .. attribute:: asyncOperationId + + :class:`GUID` + + + .. attribute:: oxidClientProcessNA + + :class:`ULONG64` + + + .. attribute:: originalClientLogicalThreadId + + :class:`GUID` + + + .. attribute:: uClientCausalityTraceId + + :class:`ULONG64` + +_LOCALTHIS +'''''''''' +.. class:: LOCALTHIS + + Alias for :class:`_LOCALTHIS` + +.. class:: _LOCALTHIS + + .. attribute:: dwFlags + + :class:`DWORD` + + + .. attribute:: dwClientThread + + :class:`DWORD` + + + .. attribute:: passthroughTraceActivity + + :class:`GUID` + + + .. attribute:: callTraceActivity + + :class:`GUID` + + + .. attribute:: asyncRequestBlock + + :class:`MIDL_XmitDefs_0001` + + + .. attribute:: reserved + + :class:`DWORD` + + + .. attribute:: pTouchedAstaArray + + :class:`PVOID` + +_LOCALTHIS32 +'''''''''''' +.. class:: LOCALTHIS32 + + Alias for :class:`_LOCALTHIS32` + +.. class:: _LOCALTHIS32 + + .. attribute:: dwFlags + + :class:`DWORD` + + + .. attribute:: dwClientThread + + :class:`DWORD` + + + .. attribute:: passthroughTraceActivity + + :class:`GUID` + + + .. attribute:: callTraceActivity + + :class:`GUID` + + + .. attribute:: asyncRequestBlock + + :class:`MIDL_XmitDefs_0001` + + + .. attribute:: reserved + + :class:`DWORD` + + + .. attribute:: pTouchedAstaArray + + :class:`PVOID32` + +_MIDL_XmitDefs_0007 +''''''''''''''''''' +.. class:: _MIDL_XmitDefs_0007 + + .. attribute:: pointOfFailure + + :class:`INT` + + + .. attribute:: hrFailure + + :class:`HRESULT` + + + .. attribute:: sizeOfMarshaledErrorInfo + + :class:`ULONG` + + + .. attribute:: reserved + + :class:`ULONG` + + + .. attribute:: pMarshaledErrorInfo + + :class:`BYTE` + +_MIDL_XmitDefs_0005 +''''''''''''''''''' +.. class:: _MIDL_XmitDefs_0005 + + .. attribute:: sizeOfMarshaledResults + + :class:`ULONG` + + + .. attribute:: reserved + + :class:`ULONG` + + + .. attribute:: pMarshaledResults + + :class:`BYTE` + +_MIDL_XmitDefs_0008 +''''''''''''''''''' +.. class:: _MIDL_XmitDefs_0008 + + .. attribute:: outcome + + :class:`INT` + + + .. attribute:: successDetails + + :class:`_MIDL_XmitDefs_0005` + + + .. attribute:: failureDetails + + :class:`_MIDL_XmitDefs_0007` + +_MIDL_XmitDefs_0010 +''''''''''''''''''' +.. class:: _MIDL_XmitDefs_0010 + + .. attribute:: asyncStatus + + :class:`ULONG` + + + .. attribute:: reserved1 + + :class:`ULONG` + + + .. attribute:: uServerCausalityTraceId + + :class:`UINT64` + + + .. attribute:: completionTraceActivity + + :class:`_GUID` + + + .. attribute:: reserved2 + + :class:`ULONG` + + + .. attribute:: pOutcomeDetails + + :class:`_MIDL_XmitDefs_0008` + +CONTAINERTHAT +''''''''''''' +.. class:: CONTAINERTHAT + + .. attribute:: responseFlags + + :class:`UINT64` + + + .. attribute:: unassignedPassthroughGuid_1 + + :class:`_GUID` + + + .. attribute:: unassignedPassthroughGuid_2 + + :class:`_GUID` + + + .. attribute:: unassignedPassthroughGuid_3 + + :class:`_GUID` + + + .. attribute:: unassignedPassthroughGuid_4 + + :class:`_GUID` + + + .. attribute:: reservedGuid_1 + + :class:`_GUID` + + + .. attribute:: reservedGuid_2 + + :class:`_GUID` + + + .. attribute:: reservedGuid_3 + + :class:`_GUID` + + + .. attribute:: reservedGuid_4 + + :class:`_GUID` + + + .. attribute:: unassignedPassthroughUint64_1 + + :class:`UINT64` + + + .. attribute:: unassignedPassthroughUint64_2 + + :class:`UINT64` + + + .. attribute:: unassignedPassthroughUint64_3 + + :class:`UINT64` + + + .. attribute:: unassignedPassthroughUint64_4 + + :class:`UINT64` + + + .. attribute:: marshalingSetId + + :class:`UINT64` + + + .. attribute:: reservedUint64_2 + + :class:`UINT64` + + + .. attribute:: reservedUint64_3 + + :class:`UINT64` + + + .. attribute:: reservedUint64_4 + + :class:`UINT64` + + + .. attribute:: reservedUint32 + + :class:`UINT` + + + .. attribute:: extensions + + :class:`CONTAINER_EXTENT_ARRAY` + +_LOCALTHAT +'''''''''' +.. class:: LOCALTHAT + + Alias for :class:`_LOCALTHAT` + +.. class:: _LOCALTHAT + + .. attribute:: marshalingSetId + + :class:`UINT64` + + + .. attribute:: reserved + + :class:`ULONG` + + + .. attribute:: pAsyncResponseBlock + + :class:`_MIDL_XmitDefs_0010` + + + .. attribute:: containerErrorInformation + + :class:`CONTAINER_EXTENT` + + + .. attribute:: containerPassthroughData + + :class:`CONTAINERTHAT` + +_LOCALTHAT32 +'''''''''''' +.. class:: LOCALTHAT32 + + Alias for :class:`_LOCALTHAT32` + +.. class:: _LOCALTHAT32 + + .. attribute:: marshalingSetId + + :class:`UINT64` + + + .. attribute:: reserved + + :class:`ULONG` + + + .. attribute:: pAsyncResponseBlock + + :class:`PVOID32` + + + .. attribute:: containerErrorInformation + + :class:`PVOID32` + + + .. attribute:: containerPassthroughData + + :class:`PVOID32` + +tagORPCTHAT +''''''''''' +.. class:: ORPCTHAT + + Alias for :class:`tagORPCTHAT` + +.. class:: tagORPCTHAT + + .. attribute:: flags + + :class:`ULONG` + + + .. attribute:: extensions + + :class:`tagORPC_EXTENT_ARRAY` + +ORPCTHAT32 +'''''''''' +.. class:: ORPCTHAT32 + + .. attribute:: flags + + :class:`ULONG` + + + .. attribute:: extensions + + :class:`PVOID32` + _VIRTUAL_STORAGE_TYPE ''''''''''''''''''''' .. class:: PVIRTUAL_STORAGE_TYPE @@ -2411,6 +3631,32 @@ _PROCESS_MITIGATION_IMAGE_LOAD_POLICY :class:`_ANON__PROCESS_MITIGATION_IMAGE_LOAD_POLICY_SUB_UNION_1` +TagTestStructV1 +''''''''''''''' +.. class:: PTestStructV1 + + Pointer to :class:`TagTestStructV1` + +.. class:: TestStructV1 + + Alias for :class:`TagTestStructV1` + +.. class:: TagTestStructV1 + + .. attribute:: Type + + :class:`DWORD` + + + .. attribute:: Name + + :class:`LPCH` + + + .. attribute:: anon_01 + + :class:`_ANON_TAGTESTSTRUCTV1_SUB_UNION_1` + _MIB_IPNETROW_LH '''''''''''''''' .. class:: MIB_IPNETROW @@ -13144,23 +14390,6 @@ _OBJECT_ATTRIBUTES :class:`PVOID` -_TMP_UNION_IO_STATUS_BLOCK -'''''''''''''''''''''''''' -.. class:: TMP_UNION_IO_STATUS_BLOCK - - Alias for :class:`_TMP_UNION_IO_STATUS_BLOCK` - -.. class:: _TMP_UNION_IO_STATUS_BLOCK - - .. attribute:: Status - - :class:`NTSTATUS` - - - .. attribute:: Pointer - - :class:`PVOID` - _IO_STATUS_BLOCK '''''''''''''''' .. class:: IO_STATUS_BLOCK @@ -13173,9 +14402,9 @@ _IO_STATUS_BLOCK .. class:: _IO_STATUS_BLOCK - .. attribute:: DUMMYUNIONNAME + .. attribute:: anon_01 - :class:`TMP_UNION_IO_STATUS_BLOCK` + :class:`_ANON__IO_STATUS_BLOCK_SUB_UNION_1` .. attribute:: Information @@ -15504,124 +16733,6 @@ _REMOTE_PORT_VIEW :class:`PVOID` -tagCOMVERSION -''''''''''''' -.. class:: COMVERSION - - Alias for :class:`tagCOMVERSION` - -.. class:: tagCOMVERSION - - .. attribute:: MajorVersion - - :class:`USHORT` - - - .. attribute:: MinorVersion - - :class:`USHORT` - -tagORPCTHIS -''''''''''' -.. class:: ORPCTHIS - - Alias for :class:`tagORPCTHIS` - -.. class:: tagORPCTHIS - - .. attribute:: version - - :class:`COMVERSION` - - - .. attribute:: flags - - :class:`ULONG` - - - .. attribute:: reserved1 - - :class:`ULONG` - - - .. attribute:: cid - - :class:`GUID` - - - .. attribute:: extensions - - :class:`PVOID` - -__MIDL_XmitDefs_0001 -'''''''''''''''''''' -.. class:: MIDL_XmitDefs_0001 - - Alias for :class:`__MIDL_XmitDefs_0001` - -.. class:: __MIDL_XmitDefs_0001 - - .. attribute:: asyncOperationId - - :class:`GUID` - - - .. attribute:: oxidClientProcessNA - - :class:`ULONG64` - - - .. attribute:: originalClientLogicalThreadId - - :class:`GUID` - - - .. attribute:: uClientCausalityTraceId - - :class:`ULONG64` - -_LOCALTHIS -'''''''''' -.. class:: LOCALTHIS - - Alias for :class:`_LOCALTHIS` - -.. class:: _LOCALTHIS - - .. attribute:: dwFlags - - :class:`DWORD` - - - .. attribute:: dwClientThread - - :class:`DWORD` - - - .. attribute:: passthroughTraceActivity - - :class:`GUID` - - - .. attribute:: callTraceActivity - - :class:`GUID` - - - .. attribute:: asyncRequestBlock - - :class:`MIDL_XmitDefs_0001` - - - .. attribute:: reserved - - :class:`DWORD` - - - .. attribute:: pTouchedAstaArray - - :class:`PVOID` - tagBIND_OPTS '''''''''''' .. class:: BIND_OPTS @@ -26984,6 +28095,144 @@ tagCOMSD .. attribute:: SD_ACCESSRESTRICTIONS(3) +tagCPFLAGS +'''''''''' +.. class:: CPFLAGS + + Alias for :class:`tagCPFLAGS` + + +.. class:: tagCPFLAGS + + + .. attribute:: CPFLAG_NONE(0) + + + .. attribute:: CPFLAG_PROPAGATE(1) + + + .. attribute:: CPFLAG_EXPOSE(2) + + + .. attribute:: CPFLAG_ENVOY(4) + + + .. attribute:: CPFLAG_MONITORSTUB(8) + + + .. attribute:: CPFLAG_MONITORPROXY(16) + + + .. attribute:: CPFLAG_DONTCOMPARE(32) + +tagACTIVATION_STAGE +''''''''''''''''''' +.. class:: ACTIVATION_STAGE + + Alias for :class:`tagACTIVATION_STAGE` + + +.. class:: tagACTIVATION_STAGE + + + .. attribute:: CLIENT_CONTEXT_STAGE(1) + + + .. attribute:: CLIENT_MACHINE_STAGE(2) + + + .. attribute:: SERVER_MACHINE_STAGE(3) + + + .. attribute:: SERVER_PROCESS_STAGE(4) + + + .. attribute:: SERVER_CONTEXT_STAGE(5) + +tagThreadingModel +''''''''''''''''' +.. class:: ThreadingModel + + Alias for :class:`tagThreadingModel` + + +.. class:: tagThreadingModel + + + .. attribute:: ApartmentThreaded(0) + + + .. attribute:: FreeThreaded(1) + + + .. attribute:: SingleThreaded(2) + + + .. attribute:: BothThreaded(3) + + + .. attribute:: NeutralThreaded(4) + +tagLocalServerType +'''''''''''''''''' +.. class:: LocalServerType + + Alias for :class:`tagLocalServerType` + + +.. class:: tagLocalServerType + + + .. attribute:: LocalServerType16(0) + + + .. attribute:: LocalServerType32(1) + +tagSTREAM_SEEK +'''''''''''''' +.. class:: STREAM_SEEK + + Alias for :class:`tagSTREAM_SEEK` + + +.. class:: tagSTREAM_SEEK + + + .. attribute:: STREAM_SEEK_SET(0) + + + .. attribute:: STREAM_SEEK_CUR(1) + + + .. attribute:: STREAM_SEEK_END(2) + +tagMSHCTX +''''''''' +.. class:: MSHCTX + + Alias for :class:`tagMSHCTX` + + +.. class:: tagMSHCTX + + + .. attribute:: MSHCTX_LOCAL(0) + + + .. attribute:: MSHCTX_NOSHAREDMEM(1) + + + .. attribute:: MSHCTX_DIFFERENTMACHINE(2) + + + .. attribute:: MSHCTX_INPROC(3) + + + .. attribute:: MSHCTX_CROSSCTX(4) + + + .. attribute:: MSHCTX_CONTAINER(5) + _VIRTUAL_DISK_ACCESS_MASK ''''''''''''''''''''''''' .. class:: VIRTUAL_DISK_ACCESS_MASK diff --git a/windows/generated_def/interfaces.py b/windows/generated_def/interfaces.py index f1f6f62..25f1a47 100644 --- a/windows/generated_def/interfaces.py +++ b/windows/generated_def/interfaces.py @@ -20,8 +20,8 @@ class COMInterface(ctypes.c_void_p): # So COMInterface completely bypass the HRESULT # return value check on restype by setting the restype to COMHRESULT - # But we add the 'errcheck' callbakc capacity for all COMInterface and subclasses - # So the default implem of the callbakc must have the same behavior as + # But we add the 'errcheck' callback capacity for all COMInterface and subclasses + # So the default implem of the callback must have the same behavior as # standard HRESULT restype. # This is why default errcheck callback call ctypes._check_HRESULT def _default_errcheck(self, result, func, args): @@ -43,11 +43,33 @@ class COMInterface(ctypes.c_void_p): description = "" if not self.value else "" return "<{0}{1} at {2:#x}>".format(type(self).__name__, description, id(self)) - # Simplified API for QueryInterface for interface embeding there IID - def query(self, interfacetype): - interface = interfacetype() - self.QueryInterface(interface.IID, interface) - return interface + # Simplified API for QueryInterface for interface embeding their IID + # Or for string/Obj + def query(self, interface, target=None): + if isinstance(interface, str): # We have a GUID + interface_iid = IID.from_string(interface) + if target is None: + target = IUnknown() + elif issubclass(interface, COMInterface): # We have a PFW COM interface + interface_iid = interface.IID + if target is None: + target = interface() # Use an instance of the ComInterface as target of the QueryInterface + else: + # We have something else (A gdef.GUID probably) + interface_iid = interface + if target is None: + target = IUnknown() + self.QueryInterface(interface_iid, target) + return target + + def marshal(self, target_iid=None, destination=MSHCTX_NOSHAREDMEM, flags=MSHLFLAGS_NORMAL): + if target_iid is None: + target_iid = self.IID + mystream = windows.com.MemoryIStream.create() + windows.winproxy.CoMarshalInterface(mystream, target_iid, self, destination, 0, flags) + mystream.seek(0) + buffer = mystream.read(0xffffffff) # Todo: release stuff + return buffer @@ -56,6 +78,11 @@ class COMInterface(ctypes.c_void_p): +class IActivationStageInfo(COMInterface): + IID = generate_IID(0x000001A8, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IActivationStageInfo", strid="000001A8-0000-0000-C000-000000000046") + +class ICallFactory(COMInterface): + IID = generate_IID(0x1C733A30, 0x2A1C, 0x11CE, 0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D, name="ICallFactory", strid="1C733A30-2A1C-11CE-ADE5-00AA0044773D") class ICallFrame(COMInterface): IID = generate_IID(0xD573B4B0, 0x894E, 0x11D2, 0xB8, 0xB6, 0x00, 0xC0, 0x4F, 0xB9, 0x61, 0x8A, name="ICallFrame", strid="D573B4B0-894E-11D2-B8B6-00C04FB9618A") @@ -69,36 +96,90 @@ class ICallFrameWalker(COMInterface): class ICallInterceptor(COMInterface): IID = generate_IID(0x60C7CA75, 0x896D, 0x11D2, 0xB8, 0xB6, 0x00, 0xC0, 0x4F, 0xB9, 0x61, 0x8A, name="ICallInterceptor", strid="60C7CA75-896D-11D2-B8B6-00C04FB9618A") +class IClassFactory(COMInterface): + IID = generate_IID(0x00000001, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IClassFactory", strid="00000001-0000-0000-C000-000000000046") + +class IClientSecurity(COMInterface): + IID = generate_IID(0x0000013D, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IClientSecurity", strid="0000013D-0000-0000-C000-000000000046") + +class IComCatalog(COMInterface): + IID = generate_IID(0x000001E0, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IComCatalog", strid="000001E0-0000-0000-C000-000000000046") + class IDispatch(COMInterface): IID = generate_IID(0x00020400, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IDispatch", strid="00020400-0000-0000-C000-000000000046") class IEnumVARIANT(COMInterface): IID = generate_IID(0x00020404, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IEnumVARIANT", strid="00020404-0000-0000-C000-000000000046") +class IInternalUnknown(COMInterface): + IID = generate_IID(0x00000021, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IInternalUnknown", strid="00000021-0000-0000-C000-000000000046") + +class IMarshal(COMInterface): + IID = generate_IID(0x00000003, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IMarshal", strid="00000003-0000-0000-C000-000000000046") + +class IMoniker(COMInterface): + IID = generate_IID(0x0000000F, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IMoniker", strid="0000000F-0000-0000-C000-000000000046") + class INetFwPolicy2(COMInterface): IID = generate_IID(0x98325047, 0xC671, 0x4174, 0x8D, 0x81, 0xDE, 0xFC, 0xD3, 0xF0, 0x31, 0x86, name="INetFwPolicy2", strid="98325047-C671-4174-8D81-DEFCD3F03186") -class INetFwRules(COMInterface): - IID = generate_IID(0x9C4C6277, 0x5027, 0x441E, 0xAF, 0xAE, 0xCA, 0x1F, 0x54, 0x2D, 0xA0, 0x09, name="INetFwRules", strid="9C4C6277-5027-441E-AFAE-CA1F542DA009") - class INetFwRule(COMInterface): IID = generate_IID(0xAF230D27, 0xBABA, 0x4E42, 0xAC, 0xED, 0xF5, 0x24, 0xF2, 0x2C, 0xFC, 0xE2, name="INetFwRule", strid="AF230D27-BABA-4E42-ACED-F524F22CFCE2") +class INetFwRules(COMInterface): + IID = generate_IID(0x9C4C6277, 0x5027, 0x441E, 0xAF, 0xAE, 0xCA, 0x1F, 0x54, 0x2D, 0xA0, 0x09, name="INetFwRules", strid="9C4C6277-5027-441E-AFAE-CA1F542DA009") + class INetFwServiceRestriction(COMInterface): IID = generate_IID(0x8267BBE3, 0xF890, 0x491C, 0xB7, 0xB6, 0x2D, 0xB1, 0xEF, 0x0E, 0x5D, 0x2B, name="INetFwServiceRestriction", strid="8267BBE3-F890-491C-B7B6-2DB1EF0E5D2B") +class IObjContext(COMInterface): + IID = generate_IID(0x000001C6, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IObjContext", strid="000001C6-0000-0000-C000-000000000046") + class IPersist(COMInterface): IID = generate_IID(0x0000010C, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IPersist", strid="0000010C-0000-0000-C000-000000000046") class IPersistFile(COMInterface): IID = generate_IID(0x0000010B, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IPersistFile", strid="0000010B-0000-0000-C000-000000000046") +class IRemUnknown(COMInterface): + IID = generate_IID(0x00000131, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IRemUnknown", strid="00000131-0000-0000-C000-000000000046") + class IShellLinkA(COMInterface): IID = generate_IID(0x000214EE, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IShellLinkA", strid="000214EE-0000-0000-C000-000000000046") class IShellLinkW(COMInterface): IID = generate_IID(0x000214F9, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IShellLinkW", strid="000214F9-0000-0000-C000-000000000046") +class IStdIdentity(COMInterface): + IID = generate_IID(0x0000001b, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IStdIdentity", strid="0000001b-0000-0000-c000-000000000046") + +class IStream(COMInterface): + IID = generate_IID(0x0000000C, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IStream", strid="0000000C-0000-0000-C000-000000000046") + +OLD_IStream = IStream +class IStream(OLD_IStream): + + def read(self, size): + buffer = (CHAR * size)() + size_read = ULONG() + self.Read(buffer, size, size_read) + return buffer[:size_read.value] + + + def write(self, data): + assert isinstance(data, bytes), "IStream.write() only accept bytes but {0} was passed".format(type(data)) + written = ULONG() + self.Write(data, len(data), written) + return written.value + + def seek(self, position, origin=STREAM_SEEK_SET): + newpos = ULARGE_INTEGER() + self.Seek(position, origin, newpos) + return newpos.value + + + + class ITypeComp(COMInterface): IID = generate_IID(0x00020403, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="ITypeComp", strid="00020403-0000-0000-C000-000000000046") @@ -111,6 +192,9 @@ class ITypeLib(COMInterface): class IUnknown(COMInterface): IID = generate_IID(0x00000000, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IUnknown", strid="00000000-0000-0000-C000-000000000046") +class MyCls(COMInterface): + IID = generate_IID(0x11223344, 0x5555, 0x6666, 0x77, 0x77, 0x88, 0x99, 0x00, 0x00, 0x00, 0x02, name="MyCls", strid="11223344-5555-6666-7777-889900000002") + class IBackgroundCopyCallback(COMInterface): IID = generate_IID(0x97EA99C7, 0x0186, 0x4AD4, 0x8D, 0xF9, 0xC5, 0xB4, 0xE0, 0xED, 0x6B, 0x22, name="IBackgroundCopyCallback", strid="97EA99C7-0186-4AD4-8DF9-C5B4E0ED6B22") @@ -141,6 +225,57 @@ class IEnumBackgroundCopyFiles(COMInterface): class IEnumBackgroundCopyJobs(COMInterface): IID = generate_IID(0x1AF4F612, 0x3B71, 0x466F, 0x8F, 0x58, 0x7B, 0x6F, 0x73, 0xAC, 0x57, 0xAD, name="IEnumBackgroundCopyJobs", strid="1AF4F612-3B71-466F-8F58-7B6F73AC57AD") +class IActivationProperties(COMInterface): + IID = generate_IID(0x000001AF, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IActivationProperties", strid="000001AF-0000-0000-C000-000000000046") + +class IActivationPropertiesOut(COMInterface): + IID = generate_IID(0x000001A3, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IActivationPropertiesOut", strid="000001A3-0000-0000-C000-000000000046") + +class IActivationPropertiesIn(COMInterface): + IID = generate_IID(0x000001A2, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IActivationPropertiesIn", strid="000001A2-0000-0000-C000-000000000046") + +class IClassClassicInfo(COMInterface): + IID = generate_IID(0x000001E2, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IClassClassicInfo", strid="000001E2-0000-0000-C000-000000000046") + +class IComClassInfo(COMInterface): + IID = generate_IID(0x000001E1, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IComClassInfo", strid="000001E1-0000-0000-C000-000000000046") + +class IContext(COMInterface): + IID = generate_IID(0x000001C0, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IContext", strid="000001C0-0000-0000-C000-000000000046") + +class IEnumContextProps(COMInterface): + IID = generate_IID(0x000001C1, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IEnumContextProps", strid="000001C1-0000-0000-C000-000000000046") + +class IEnumSTATSTG(COMInterface): + IID = generate_IID(0x0000000D, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IEnumSTATSTG", strid="0000000D-0000-0000-C000-000000000046") + +class IInitActivationPropertiesIn(COMInterface): + IID = generate_IID(0x000001A1, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IInitActivationPropertiesIn", strid="000001A1-0000-0000-C000-000000000046") + +class IOpaqueDataInfo(COMInterface): + IID = generate_IID(0x000001A9, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IOpaqueDataInfo", strid="000001A9-0000-0000-C000-000000000046") + +class IPrivActivationPropertiesIn(COMInterface): + IID = generate_IID(0x000001B5, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IPrivActivationPropertiesIn", strid="000001B5-0000-0000-C000-000000000046") + +class IPrivActivationPropertiesOut(COMInterface): + IID = generate_IID(0x000001B0, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IPrivActivationPropertiesOut", strid="000001B0-0000-0000-C000-000000000046") + +class IScmReplyInfo(COMInterface): + IID = generate_IID(0x000001B6, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IScmReplyInfo", strid="000001B6-0000-0000-C000-000000000046") + +class IScmRequestInfo(COMInterface): + IID = generate_IID(0x000001AA, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IScmRequestInfo", strid="000001AA-0000-0000-C000-000000000046") + +class IStandardActivator(COMInterface): + IID = generate_IID(0x000001B8, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IStandardActivator", strid="000001B8-0000-0000-C000-000000000046") + +class IStorage(COMInterface): + IID = generate_IID(0x0000000B, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IStorage", strid="0000000B-0000-0000-C000-000000000046") + +class ISystemActivator(COMInterface): + IID = generate_IID(0x000001A0, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="ISystemActivator", strid="000001A0-0000-0000-C000-000000000046") + class IBindCtx(COMInterface): IID = generate_IID(0x0000000E, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IBindCtx", strid="0000000E-0000-0000-C000-000000000046") @@ -159,9 +294,6 @@ class IEnumString(COMInterface): class IExplorerCommand(COMInterface): IID = generate_IID(0xA08CE4D0, 0xFA25, 0x44AB, 0xB5, 0x7C, 0xC7, 0xB1, 0xC3, 0x23, 0xE0, 0xB9, name="IExplorerCommand", strid="A08CE4D0-FA25-44AB-B57C-C7B1C323E0B9") -class IMoniker(COMInterface): - IID = generate_IID(0x0000000F, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IMoniker", strid="0000000F-0000-0000-C000-000000000046") - class IRunningObjectTable(COMInterface): IID = generate_IID(0x00000010, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IRunningObjectTable", strid="00000010-0000-0000-C000-000000000046") @@ -169,10 +301,13 @@ class IShellItem(COMInterface): IID = generate_IID(0x43826D1E, 0xE718, 0x42EE, 0xBC, 0x55, 0xA1, 0xE2, 0x61, 0xC3, 0x7B, 0xFE, name="IShellItem", strid="43826D1E-E718-42EE-BC55-A1E261C37BFE") class IShellItemArray(COMInterface): - IID = generate_IID(0xB63EA76D, 0x1F85, 0x456F, 0xA1, 0x9C, 0x48, 0x15, 0x9E, 0xFA, 0x85, 0x8B, name="IShellItemArray", strid="B63EA76D-1F85-456F-A19C-48159EFA858B") + IID = generate_IID(0x787F8E92, 0x9837, 0x4011, 0x9F, 0x83, 0x7D, 0xE5, 0x93, 0xBD, 0xC0, 0x02, name="IShellItemArray", strid="787F8E92-9837-4011-9F83-7DE593BDC002") -class IStream(COMInterface): - IID = generate_IID(0x0000000C, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IStream", strid="0000000C-0000-0000-C000-000000000046") +class IProxyManager(COMInterface): + IID = generate_IID(0x00000008, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IProxyManager", strid="00000008-0000-0000-c000-000000000046") + +class IProxyServerIdentity(COMInterface): + IID = generate_IID(0x5524fe34, 0x8da7, 0x40a8, 0x81, 0x65, 0xe8, 0xb3, 0x7a, 0x8b, 0x4a, 0x4b, name="IProxyServerIdentity", strid="5524fe34-8da7-40a8-8165-e8b37a8b4a4b") class IApplicationActivationManager(COMInterface): IID = generate_IID(0x2E941141, 0x7F97, 0x4756, 0xBA, 0x1D, 0x9D, 0xEC, 0xDE, 0x89, 0x4A, 0x3D, name="IApplicationActivationManager", strid="2E941141-7F97-4756-BA1D-9DECDE894A3D") @@ -183,6 +318,21 @@ class IPackageDebugSettings(COMInterface): class IPackageExecutionStateChangeNotification(COMInterface): IID = generate_IID(0x1BB12A62, 0x2AD8, 0x432B, 0x8C, 0xCF, 0x0C, 0x2C, 0x52, 0xAF, 0xCD, 0x5B, name="IPackageExecutionStateChangeNotification", strid="1BB12A62-2AD8-432B-8CCF-0C2C52AFCD5B") +class IChannelHook(COMInterface): + IID = generate_IID(0x1008C4A0, 0x7613, 0x11CF, 0x9A, 0xF1, 0x00, 0x20, 0xAF, 0x6E, 0x72, 0xF4, name="IChannelHook", strid="1008C4A0-7613-11CF-9AF1-0020AF6E72F4") + +class IRpcChannelBuffer(COMInterface): + IID = generate_IID(0xD5F56B60, 0x593B, 0x101A, 0xB5, 0x69, 0x08, 0x00, 0x2B, 0x2D, 0xBF, 0x7A, name="IRpcChannelBuffer", strid="D5F56B60-593B-101A-B569-08002B2DBF7A") + +class IRpcHelper(COMInterface): + IID = generate_IID(0x00000149, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IRpcHelper", strid="00000149-0000-0000-C000-000000000046") + +class IRpcOptions(COMInterface): + IID = generate_IID(0x00000144, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IRpcOptions", strid="00000144-0000-0000-C000-000000000046") + +class IRpcStubBuffer(COMInterface): + IID = generate_IID(0xD5F56AFC, 0x593B, 0x101A, 0xB5, 0x69, 0x08, 0x00, 0x2B, 0x2D, 0xBF, 0x7A, name="IRpcStubBuffer", strid="D5F56AFC-593B-101A-B569-08002B2DBF7A") + class IAction(COMInterface): IID = generate_IID(0xBAE54997, 0x48B1, 0x4CBE, 0x99, 0x65, 0xD6, 0xBE, 0x26, 0x3E, 0xBE, 0xA4, name="IAction", strid="BAE54997-48B1-4CBE-9965-D6BE263EBEA4") @@ -283,7 +433,33 @@ class IWbemQualifierSet(COMInterface): IID = generate_IID(0xDC12A680, 0x737F, 0x11CF, 0x88, 0x4D, 0x00, 0xAA, 0x00, 0x4B, 0x2E, 0x24, name="IWbemQualifierSet", strid="DC12A680-737F-11CF-884D-00AA004B2E24") class IWbemServices(COMInterface): - IID = generate_IID(0x9556DC99, 0x828C, 0x11CF, 0xA3, 0x7E, 0x00, 0xAA, 0x00, 0x32, 0x40, 0xC7, name="IWbemServices", strid="9556DC99-828C-11CF-A37E-00AA003240C7") + IID = generate_IID(0x0EFA6E54, 0xF313, 0x405D, 0xB5, 0xD8, 0x83, 0x0A, 0x91, 0x4F, 0x64, 0x96, name="IWbemServices", strid="0EFA6E54-F313-405D-B5D8-830A914F6496") + +IActivationStageInfo._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # SetStageAndIndex -> stage:ACTIVATION_STAGE, index:INT + "SetStageAndIndex": ctypes.WINFUNCTYPE(HRESULT, ACTIVATION_STAGE, INT)(3, "SetStageAndIndex"), + # GetStage -> pstage:*ACTIVATION_STAGE + "GetStage": ctypes.WINFUNCTYPE(HRESULT, POINTER(ACTIVATION_STAGE))(4, "GetStage"), + # GetIndex -> pindex:*INT + "GetIndex": ctypes.WINFUNCTYPE(HRESULT, POINTER(INT))(5, "GetIndex"), + } + +ICallFactory._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # CreateCall -> riid:REFIID, pCtrlUnk:*IUnknown, riid2:REFIID, ppv:**IUnknown + "CreateCall": ctypes.WINFUNCTYPE(HRESULT, REFIID, IUnknown, REFIID, POINTER(IUnknown))(3, "CreateCall"), + } ICallFrame._functions_ = { # QueryInterface -> riid:REFIID, ppvObject:**void @@ -375,6 +551,63 @@ ICallInterceptor._functions_ = { "GetRegisteredSink": ctypes.WINFUNCTYPE(HRESULT, POINTER(ICallFrameEvents))(8, "GetRegisteredSink"), } +IClassFactory._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # CreateInstance -> pUnkOuter:*IUnknown, riid:REFIID, ppvObject:**void + "CreateInstance": ctypes.WINFUNCTYPE(HRESULT, IUnknown, REFIID, POINTER(PVOID))(3, "CreateInstance"), + # LockServer -> fLock:BOOL + "LockServer": ctypes.WINFUNCTYPE(HRESULT, BOOL)(4, "LockServer"), + } + +IClientSecurity._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # QueryBlanket -> pProxy:*IUnknown, pAuthnSvc:*DWORD, pAuthzSvc:*DWORD, pServerPrincName:**OLECHAR, pAuthnLevel:*DWORD, pImpLevel:*DWORD, pAuthInfo:**void, pCapabilites:*DWORD + "QueryBlanket": ctypes.WINFUNCTYPE(HRESULT, IUnknown, POINTER(DWORD), POINTER(DWORD), POINTER(POINTER(OLECHAR)), POINTER(DWORD), POINTER(DWORD), POINTER(PVOID), POINTER(DWORD))(3, "QueryBlanket"), + # SetBlanket -> pProxy:*IUnknown, dwAuthnSvc:DWORD, dwAuthzSvc:DWORD, pServerPrincName:*OLECHAR, dwAuthnLevel:DWORD, dwImpLevel:DWORD, pAuthInfo:*void, dwCapabilities:DWORD + "SetBlanket": ctypes.WINFUNCTYPE(HRESULT, IUnknown, DWORD, DWORD, POINTER(OLECHAR), DWORD, DWORD, PVOID, DWORD)(4, "SetBlanket"), + # CopyProxy -> pProxy:*IUnknown, ppCopy:**IUnknown + "CopyProxy": ctypes.WINFUNCTYPE(HRESULT, IUnknown, POINTER(IUnknown))(5, "CopyProxy"), + } + +IComCatalog._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # GetClassInfo -> guidConfiguredClsid:REFGUID, riid:REFIID, ppv:**void + "GetClassInfo": ctypes.WINFUNCTYPE(HRESULT, REFGUID, REFIID, POINTER(PVOID))(3, "GetClassInfo"), + # GetApplicationInfo -> guidApplId:REFGUID, riid:REFIID, ppv:**void + "GetApplicationInfo": ctypes.WINFUNCTYPE(HRESULT, REFGUID, REFIID, POINTER(PVOID))(4, "GetApplicationInfo"), + # GetProcessInfo -> guidProcess:REFGUID, riid:REFIID, ppv:**void + "GetProcessInfo": ctypes.WINFUNCTYPE(HRESULT, REFGUID, REFIID, POINTER(PVOID))(5, "GetProcessInfo"), + # GetServerGroupInfo -> guidServerGroup:REFGUID, riid:REFIID, ppv:**void + "GetServerGroupInfo": ctypes.WINFUNCTYPE(HRESULT, REFGUID, REFIID, POINTER(PVOID))(6, "GetServerGroupInfo"), + # GetRetQueueInfo -> wszFormatName:*WCHAR, riid:REFIID, ppv:**void + "GetRetQueueInfo": ctypes.WINFUNCTYPE(HRESULT, POINTER(WCHAR), REFIID, POINTER(PVOID))(7, "GetRetQueueInfo"), + # GetApplicationInfoForExe -> pwszExeName:*WCHAR, riid:REFIID, ppv:**void + "GetApplicationInfoForExe": ctypes.WINFUNCTYPE(HRESULT, POINTER(WCHAR), REFIID, POINTER(PVOID))(8, "GetApplicationInfoForExe"), + # GetTypeLibrary -> guidTypeLib:REFGUID, riid:REFIID, ppv:**void + "GetTypeLibrary": ctypes.WINFUNCTYPE(HRESULT, REFGUID, REFIID, POINTER(PVOID))(9, "GetTypeLibrary"), + # GetInterfaceInfo -> iidInterface:REFIID, riid:REFIID, ppv:**void + "GetInterfaceInfo": ctypes.WINFUNCTYPE(HRESULT, REFIID, REFIID, POINTER(PVOID))(10, "GetInterfaceInfo"), + # FlushCache -> + "FlushCache": ctypes.WINFUNCTYPE(HRESULT)(11, "FlushCache"), + # GetClassInfoFromProgId -> pwszProgID:*WCHAR, riid:REFIID, ppv:**void + "GetClassInfoFromProgId": ctypes.WINFUNCTYPE(HRESULT, POINTER(WCHAR), REFIID, POINTER(PVOID))(12, "GetClassInfoFromProgId"), + } + IDispatch._functions_ = { # QueryInterface -> riid:REFIID, ppvObject:**void "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), @@ -409,6 +642,87 @@ IEnumVARIANT._functions_ = { "Clone": ctypes.WINFUNCTYPE(HRESULT, POINTER(IEnumVARIANT))(6, "Clone"), } +IInternalUnknown._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # QueryInternalInterface -> riid:REFIID, ppv:**void + "QueryInternalInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(3, "QueryInternalInterface"), + } + +IMarshal._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # GetUnmarshalClass -> riid:REFIID, pv:*void, dwDestContext:DWORD, pvDestContext:*void, mshlflags:DWORD, pCid:*CLSID + "GetUnmarshalClass": ctypes.WINFUNCTYPE(HRESULT, REFIID, PVOID, DWORD, PVOID, DWORD, POINTER(CLSID))(3, "GetUnmarshalClass"), + # GetMarshalSizeMax -> riid:REFIID, pv:*void, dwDestContext:DWORD, pvDestContext:*void, mshlflags:DWORD, pSize:*DWORD + "GetMarshalSizeMax": ctypes.WINFUNCTYPE(HRESULT, REFIID, PVOID, DWORD, PVOID, DWORD, POINTER(DWORD))(4, "GetMarshalSizeMax"), + # MarshalInterface -> pStm:*IStream, riid:REFIID, pv:*void, dwDestContext:DWORD, pvDestContext:*void, mshlflags:DWORD + "MarshalInterface": ctypes.WINFUNCTYPE(HRESULT, IStream, REFIID, PVOID, DWORD, PVOID, DWORD)(5, "MarshalInterface"), + # UnmarshalInterface -> pStm:*IStream, riid:REFIID, ppv:**void + "UnmarshalInterface": ctypes.WINFUNCTYPE(HRESULT, IStream, REFIID, POINTER(PVOID))(6, "UnmarshalInterface"), + # ReleaseMarshalData -> pStm:*IStream + "ReleaseMarshalData": ctypes.WINFUNCTYPE(HRESULT, IStream)(7, "ReleaseMarshalData"), + # DisconnectObject -> dwReserved:DWORD + "DisconnectObject": ctypes.WINFUNCTYPE(HRESULT, DWORD)(8, "DisconnectObject"), + } + +IMoniker._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # GetClassID -> pClassID:*CLSID + "GetClassID": ctypes.WINFUNCTYPE(HRESULT, POINTER(CLSID))(3, "GetClassID"), + # IsDirty -> + "IsDirty": ctypes.WINFUNCTYPE(HRESULT)(4, "IsDirty"), + # Load -> pStm:*IStream + "Load": ctypes.WINFUNCTYPE(HRESULT, IStream)(5, "Load"), + # Save -> pStm:*IStream, fClearDirty:BOOL + "Save": ctypes.WINFUNCTYPE(HRESULT, IStream, BOOL)(6, "Save"), + # GetSizeMax -> pcbSize:*ULARGE_INTEGER + "GetSizeMax": ctypes.WINFUNCTYPE(HRESULT, POINTER(ULARGE_INTEGER))(7, "GetSizeMax"), + # BindToObject -> pbc:*IBindCtx, pmkToLeft:*IMoniker, riidResult:REFIID, ppvResult:**void + "BindToObject": ctypes.WINFUNCTYPE(HRESULT, IBindCtx, IMoniker, REFIID, POINTER(PVOID))(8, "BindToObject"), + # BindToStorage -> pbc:*IBindCtx, pmkToLeft:*IMoniker, riid:REFIID, ppvObj:**void + "BindToStorage": ctypes.WINFUNCTYPE(HRESULT, IBindCtx, IMoniker, REFIID, POINTER(PVOID))(9, "BindToStorage"), + # Reduce -> pbc:*IBindCtx, dwReduceHowFar:DWORD, ppmkToLeft:**IMoniker, ppmkReduced:**IMoniker + "Reduce": ctypes.WINFUNCTYPE(HRESULT, IBindCtx, DWORD, POINTER(IMoniker), POINTER(IMoniker))(10, "Reduce"), + # ComposeWith -> pmkRight:*IMoniker, fOnlyIfNotGeneric:BOOL, ppmkComposite:**IMoniker + "ComposeWith": ctypes.WINFUNCTYPE(HRESULT, IMoniker, BOOL, POINTER(IMoniker))(11, "ComposeWith"), + # Enum -> fForward:BOOL, ppenumMoniker:**IEnumMoniker + "Enum": ctypes.WINFUNCTYPE(HRESULT, BOOL, POINTER(IEnumMoniker))(12, "Enum"), + # IsEqual -> pmkOtherMoniker:*IMoniker + "IsEqual": ctypes.WINFUNCTYPE(HRESULT, IMoniker)(13, "IsEqual"), + # Hash -> pdwHash:*DWORD + "Hash": ctypes.WINFUNCTYPE(HRESULT, POINTER(DWORD))(14, "Hash"), + # IsRunning -> pbc:*IBindCtx, pmkToLeft:*IMoniker, pmkNewlyRunning:*IMoniker + "IsRunning": ctypes.WINFUNCTYPE(HRESULT, IBindCtx, IMoniker, IMoniker)(15, "IsRunning"), + # GetTimeOfLastChange -> pbc:*IBindCtx, pmkToLeft:*IMoniker, pFileTime:*FILETIME + "GetTimeOfLastChange": ctypes.WINFUNCTYPE(HRESULT, IBindCtx, IMoniker, POINTER(FILETIME))(16, "GetTimeOfLastChange"), + # Inverse -> ppmk:**IMoniker + "Inverse": ctypes.WINFUNCTYPE(HRESULT, POINTER(IMoniker))(17, "Inverse"), + # CommonPrefixWith -> pmkOther:*IMoniker, ppmkPrefix:**IMoniker + "CommonPrefixWith": ctypes.WINFUNCTYPE(HRESULT, IMoniker, POINTER(IMoniker))(18, "CommonPrefixWith"), + # RelativePathTo -> pmkOther:*IMoniker, ppmkRelPath:**IMoniker + "RelativePathTo": ctypes.WINFUNCTYPE(HRESULT, IMoniker, POINTER(IMoniker))(19, "RelativePathTo"), + # GetDisplayName -> pbc:*IBindCtx, pmkToLeft:*IMoniker, ppszDisplayName:*LPOLESTR + "GetDisplayName": ctypes.WINFUNCTYPE(HRESULT, IBindCtx, IMoniker, POINTER(LPOLESTR))(20, "GetDisplayName"), + # ParseDisplayName -> pbc:*IBindCtx, pmkToLeft:*IMoniker, pszDisplayName:LPOLESTR, pchEaten:*ULONG, ppmkOut:**IMoniker + "ParseDisplayName": ctypes.WINFUNCTYPE(HRESULT, IBindCtx, IMoniker, LPOLESTR, POINTER(ULONG), POINTER(IMoniker))(21, "ParseDisplayName"), + # IsSystemMoniker -> pdwMksys:*DWORD + "IsSystemMoniker": ctypes.WINFUNCTYPE(HRESULT, POINTER(DWORD))(22, "IsSystemMoniker"), + } + INetFwPolicy2._functions_ = { # QueryInterface -> riid:REFIID, ppvObject:**void "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), @@ -470,33 +784,6 @@ INetFwPolicy2._functions_ = { "get_LocalPolicyModifyState": ctypes.WINFUNCTYPE(HRESULT, POINTER(NET_FW_MODIFY_STATE))(28, "get_LocalPolicyModifyState"), } -INetFwRules._functions_ = { - # QueryInterface -> riid:REFIID, ppvObject:**void - "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), - # AddRef -> - "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), - # Release -> - "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), - # GetTypeInfoCount -> pctinfo:*UINT - "GetTypeInfoCount": ctypes.WINFUNCTYPE(HRESULT, POINTER(UINT))(3, "GetTypeInfoCount"), - # GetTypeInfo -> iTInfo:UINT, lcid:LCID, ppTInfo:**ITypeInfo - "GetTypeInfo": ctypes.WINFUNCTYPE(HRESULT, UINT, LCID, POINTER(ITypeInfo))(4, "GetTypeInfo"), - # GetIDsOfNames -> riid:REFIID, rgszNames:*LPOLESTR, cNames:UINT, lcid:LCID, rgDispId:*DISPID - "GetIDsOfNames": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(LPOLESTR), UINT, LCID, POINTER(DISPID))(5, "GetIDsOfNames"), - # Invoke -> dispIdMember:DISPID, riid:REFIID, lcid:LCID, wFlags:WORD, pDispParams:*DISPPARAMS, pVarResult:*VARIANT, pExcepInfo:*EXCEPINFO, puArgErr:*UINT - "Invoke": ctypes.WINFUNCTYPE(HRESULT, DISPID, REFIID, LCID, WORD, POINTER(DISPPARAMS), POINTER(VARIANT), POINTER(EXCEPINFO), POINTER(UINT))(6, "Invoke"), - # get_Count -> count:*LONG - "get_Count": ctypes.WINFUNCTYPE(HRESULT, POINTER(LONG))(7, "get_Count"), - # Add -> rule:*INetFwRule - "Add": ctypes.WINFUNCTYPE(HRESULT, INetFwRule)(8, "Add"), - # Remove -> name:BSTR - "Remove": ctypes.WINFUNCTYPE(HRESULT, BSTR)(9, "Remove"), - # Item -> name:BSTR, rule:**INetFwRule - "Item": ctypes.WINFUNCTYPE(HRESULT, BSTR, POINTER(INetFwRule))(10, "Item"), - # get__NewEnum -> newEnum:**IUnknown - "get__NewEnum": ctypes.WINFUNCTYPE(HRESULT, POINTER(IUnknown))(11, "get__NewEnum"), - } - INetFwRule._functions_ = { # QueryInterface -> riid:REFIID, ppvObject:**void "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), @@ -586,6 +873,33 @@ INetFwRule._functions_ = { "put_Action": ctypes.WINFUNCTYPE(HRESULT, NET_FW_ACTION)(42, "put_Action"), } +INetFwRules._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # GetTypeInfoCount -> pctinfo:*UINT + "GetTypeInfoCount": ctypes.WINFUNCTYPE(HRESULT, POINTER(UINT))(3, "GetTypeInfoCount"), + # GetTypeInfo -> iTInfo:UINT, lcid:LCID, ppTInfo:**ITypeInfo + "GetTypeInfo": ctypes.WINFUNCTYPE(HRESULT, UINT, LCID, POINTER(ITypeInfo))(4, "GetTypeInfo"), + # GetIDsOfNames -> riid:REFIID, rgszNames:*LPOLESTR, cNames:UINT, lcid:LCID, rgDispId:*DISPID + "GetIDsOfNames": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(LPOLESTR), UINT, LCID, POINTER(DISPID))(5, "GetIDsOfNames"), + # Invoke -> dispIdMember:DISPID, riid:REFIID, lcid:LCID, wFlags:WORD, pDispParams:*DISPPARAMS, pVarResult:*VARIANT, pExcepInfo:*EXCEPINFO, puArgErr:*UINT + "Invoke": ctypes.WINFUNCTYPE(HRESULT, DISPID, REFIID, LCID, WORD, POINTER(DISPPARAMS), POINTER(VARIANT), POINTER(EXCEPINFO), POINTER(UINT))(6, "Invoke"), + # get_Count -> count:*LONG + "get_Count": ctypes.WINFUNCTYPE(HRESULT, POINTER(LONG))(7, "get_Count"), + # Add -> rule:*INetFwRule + "Add": ctypes.WINFUNCTYPE(HRESULT, INetFwRule)(8, "Add"), + # Remove -> name:BSTR + "Remove": ctypes.WINFUNCTYPE(HRESULT, BSTR)(9, "Remove"), + # Item -> name:BSTR, rule:**INetFwRule + "Item": ctypes.WINFUNCTYPE(HRESULT, BSTR, POINTER(INetFwRule))(10, "Item"), + # get__NewEnum -> newEnum:**IUnknown + "get__NewEnum": ctypes.WINFUNCTYPE(HRESULT, POINTER(IUnknown))(11, "get__NewEnum"), + } + INetFwServiceRestriction._functions_ = { # QueryInterface -> riid:REFIID, ppvObject:**void "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), @@ -609,6 +923,37 @@ INetFwServiceRestriction._functions_ = { "get_Rules": ctypes.WINFUNCTYPE(HRESULT, POINTER(INetFwRules))(9, "get_Rules"), } +IObjContext._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # SetProperty -> rpolicyId:REFGUID, flags:CPFLAGS, pUnk:*IUnknown + "SetProperty": ctypes.WINFUNCTYPE(HRESULT, REFGUID, CPFLAGS, IUnknown)(3, "SetProperty"), + # RemoveProperty -> rPolicyId:REFGUID + "RemoveProperty": ctypes.WINFUNCTYPE(HRESULT, REFGUID)(4, "RemoveProperty"), + # GetProperty -> rGuid:REFGUID, pFlags:*CPFLAGS, ppUnk:**IUnknown + "GetProperty": ctypes.WINFUNCTYPE(HRESULT, REFGUID, POINTER(CPFLAGS), POINTER(IUnknown))(5, "GetProperty"), + # EnumContextProps -> ppEnumContextProps:**IEnumContextProps + "EnumContextProps": ctypes.WINFUNCTYPE(HRESULT, POINTER(IEnumContextProps))(6, "EnumContextProps"), + # Reserved1 -> + "Reserved1": ctypes.WINFUNCTYPE(PVOID)(7, "Reserved1"), + # Reserved2 -> + "Reserved2": ctypes.WINFUNCTYPE(PVOID)(8, "Reserved2"), + # Reserved3 -> + "Reserved3": ctypes.WINFUNCTYPE(PVOID)(9, "Reserved3"), + # Reserved4 -> + "Reserved4": ctypes.WINFUNCTYPE(PVOID)(10, "Reserved4"), + # Reserved5 -> + "Reserved5": ctypes.WINFUNCTYPE(PVOID)(11, "Reserved5"), + # Reserved6 -> + "Reserved6": ctypes.WINFUNCTYPE(PVOID)(12, "Reserved6"), + # Reserved7 -> + "Reserved7": ctypes.WINFUNCTYPE(PVOID)(13, "Reserved7"), + } + IPersist._functions_ = { # QueryInterface -> riid:REFIID, ppvObject:**void "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), @@ -641,6 +986,21 @@ IPersistFile._functions_ = { "GetCurFile": ctypes.WINFUNCTYPE(HRESULT, POINTER(LPOLESTR))(8, "GetCurFile"), } +IRemUnknown._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # RemQueryInterface -> ripid:REFIPID, cRefs:ULONG, cIids:USHORT, iids:*IID, ppQIResults:**REMQIRESULT + "RemQueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIPID, ULONG, USHORT, POINTER(IID), POINTER(POINTER(REMQIRESULT)))(3, "RemQueryInterface"), + # RemAddRef -> cInterfaceRefs:USHORT, InterfaceRefs:*REMINTERFACEREF, pResults:*HRESULT + "RemAddRef": ctypes.WINFUNCTYPE(HRESULT, USHORT, POINTER(REMINTERFACEREF), POINTER(HRESULT))(4, "RemAddRef"), + # RemRelease -> cInterfaceRefs:USHORT, InterfaceRefs:*REMINTERFACEREF + "RemRelease": ctypes.WINFUNCTYPE(HRESULT, USHORT, POINTER(REMINTERFACEREF))(5, "RemRelease"), + } + IShellLinkA._functions_ = { # QueryInterface -> riid:REFIID, ppvObject:**void "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), @@ -731,6 +1091,46 @@ IShellLinkW._functions_ = { "SetPath": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR)(20, "SetPath"), } +IStdIdentity._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + } + +IStream._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # Read -> pv:*void, cb:ULONG, pcbRead:*ULONG + "Read": ctypes.WINFUNCTYPE(HRESULT, PVOID, ULONG, POINTER(ULONG))(3, "Read"), + # Write -> pv:*void, cb:ULONG, pcbWritten:*ULONG + "Write": ctypes.WINFUNCTYPE(HRESULT, PVOID, ULONG, POINTER(ULONG))(4, "Write"), + # Seek -> dlibMove:LARGE_INTEGER, dwOrigin:DWORD, plibNewPosition:*ULARGE_INTEGER + "Seek": ctypes.WINFUNCTYPE(HRESULT, LARGE_INTEGER, DWORD, POINTER(ULARGE_INTEGER))(5, "Seek"), + # SetSize -> libNewSize:ULARGE_INTEGER + "SetSize": ctypes.WINFUNCTYPE(HRESULT, ULARGE_INTEGER)(6, "SetSize"), + # CopyTo -> pstm:*IStream, cb:ULARGE_INTEGER, pcbRead:*ULARGE_INTEGER, pcbWritten:*ULARGE_INTEGER + "CopyTo": ctypes.WINFUNCTYPE(HRESULT, IStream, ULARGE_INTEGER, POINTER(ULARGE_INTEGER), POINTER(ULARGE_INTEGER))(7, "CopyTo"), + # Commit -> grfCommitFlags:DWORD + "Commit": ctypes.WINFUNCTYPE(HRESULT, DWORD)(8, "Commit"), + # Revert -> + "Revert": ctypes.WINFUNCTYPE(HRESULT)(9, "Revert"), + # LockRegion -> libOffset:ULARGE_INTEGER, cb:ULARGE_INTEGER, dwLockType:DWORD + "LockRegion": ctypes.WINFUNCTYPE(HRESULT, ULARGE_INTEGER, ULARGE_INTEGER, DWORD)(10, "LockRegion"), + # UnlockRegion -> libOffset:ULARGE_INTEGER, cb:ULARGE_INTEGER, dwLockType:DWORD + "UnlockRegion": ctypes.WINFUNCTYPE(HRESULT, ULARGE_INTEGER, ULARGE_INTEGER, DWORD)(11, "UnlockRegion"), + # Stat -> pstatstg:*STATSTG, grfStatFlag:DWORD + "Stat": ctypes.WINFUNCTYPE(HRESULT, POINTER(STATSTG), DWORD)(12, "Stat"), + # Clone -> ppstm:**IStream + "Clone": ctypes.WINFUNCTYPE(HRESULT, POINTER(IStream))(13, "Clone"), + } + ITypeComp._functions_ = { # QueryInterface -> riid:REFIID, ppvObject:*PVOID "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), @@ -829,6 +1229,21 @@ IUnknown._functions_ = { "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), } +MyCls._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:*PVOID + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # add -> x:UINT, y:UINT, res:*UINT + "add": ctypes.WINFUNCTYPE(HRESULT, UINT, UINT, POINTER(UINT))(3, "add"), + # dprint -> msg:*WCHAR + "dprint": ctypes.WINFUNCTYPE(HRESULT, POINTER(WCHAR))(4, "dprint"), + # tstvalue -> rettype:DWORD, out:**TestStructV1 + "tstvalue": ctypes.WINFUNCTYPE(HRESULT, DWORD, POINTER(POINTER(TestStructV1)))(5, "tstvalue"), + } + IBackgroundCopyCallback._functions_ = { # QueryInterface -> riid:REFIID, ppvObject:**void "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), @@ -1141,6 +1556,401 @@ IEnumBackgroundCopyJobs._functions_ = { "GetCount": ctypes.WINFUNCTYPE(HRESULT, POINTER(ULONG))(7, "GetCount"), } +IActivationProperties._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # GetUnmarshalClass -> riid:REFIID, pv:*void, dwDestContext:DWORD, pvDestContext:*void, mshlflags:DWORD, pCid:*CLSID + "GetUnmarshalClass": ctypes.WINFUNCTYPE(HRESULT, REFIID, PVOID, DWORD, PVOID, DWORD, POINTER(CLSID))(3, "GetUnmarshalClass"), + # GetMarshalSizeMax -> riid:REFIID, pv:*void, dwDestContext:DWORD, pvDestContext:*void, mshlflags:DWORD, pSize:*DWORD + "GetMarshalSizeMax": ctypes.WINFUNCTYPE(HRESULT, REFIID, PVOID, DWORD, PVOID, DWORD, POINTER(DWORD))(4, "GetMarshalSizeMax"), + # MarshalInterface -> pStm:*IStream, riid:REFIID, pv:*void, dwDestContext:DWORD, pvDestContext:*void, mshlflags:DWORD + "MarshalInterface": ctypes.WINFUNCTYPE(HRESULT, IStream, REFIID, PVOID, DWORD, PVOID, DWORD)(5, "MarshalInterface"), + # UnmarshalInterface -> pStm:*IStream, riid:REFIID, ppv:**void + "UnmarshalInterface": ctypes.WINFUNCTYPE(HRESULT, IStream, REFIID, POINTER(PVOID))(6, "UnmarshalInterface"), + # ReleaseMarshalData -> pStm:*IStream + "ReleaseMarshalData": ctypes.WINFUNCTYPE(HRESULT, IStream)(7, "ReleaseMarshalData"), + # DisconnectObject -> dwReserved:DWORD + "DisconnectObject": ctypes.WINFUNCTYPE(HRESULT, DWORD)(8, "DisconnectObject"), + # SetDestCtx -> dwDestCtx:DWORD + "SetDestCtx": ctypes.WINFUNCTYPE(HRESULT, DWORD)(9, "SetDestCtx"), + # SetMarshalFlags -> dwMarshalFlags:DWORD + "SetMarshalFlags": ctypes.WINFUNCTYPE(HRESULT, DWORD)(10, "SetMarshalFlags"), + # SetLocalBlob -> blob:*void + "SetLocalBlob": ctypes.WINFUNCTYPE(HRESULT, PVOID)(11, "SetLocalBlob"), + # GetLocalBlob -> blob:**void + "GetLocalBlob": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(12, "GetLocalBlob"), + } + +IActivationPropertiesOut._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # GetActivationID -> pActivationID:*GUID + "GetActivationID": ctypes.WINFUNCTYPE(HRESULT, POINTER(GUID))(3, "GetActivationID"), + # GetObjectInterface -> riid:REFIID, actvflags:DWORD, ppv:**void + "GetObjectInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, DWORD, POINTER(PVOID))(4, "GetObjectInterface"), + # GetObjectInterfaces -> cIfs:DWORD, actvflags:DWORD, multiQi:*MULTI_QI + "GetObjectInterfaces": ctypes.WINFUNCTYPE(HRESULT, DWORD, DWORD, POINTER(MULTI_QI))(5, "GetObjectInterfaces"), + # RemoveRequestedIIDs -> cIfs:DWORD, rgIID:*IID + "RemoveRequestedIIDs": ctypes.WINFUNCTYPE(HRESULT, DWORD, POINTER(IID))(6, "RemoveRequestedIIDs"), + } + +IActivationPropertiesIn._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # GetActivationID -> pActivationID:*GUID + "GetActivationID": ctypes.WINFUNCTYPE(HRESULT, POINTER(GUID))(3, "GetActivationID"), + # GetClassInfo -> riid:REFIID, ppv:**void + "GetClassInfo": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(4, "GetClassInfo"), + # GetClsctx -> pclsctx:*DWORD + "GetClsctx": ctypes.WINFUNCTYPE(HRESULT, POINTER(DWORD))(5, "GetClsctx"), + # GetActivationFlags -> pactvflags:*DWORD + "GetActivationFlags": ctypes.WINFUNCTYPE(HRESULT, POINTER(DWORD))(6, "GetActivationFlags"), + # AddRequestedIIDs -> cIfs:DWORD, rgIID:*IID + "AddRequestedIIDs": ctypes.WINFUNCTYPE(HRESULT, DWORD, POINTER(IID))(7, "AddRequestedIIDs"), + # GetRequestedIIDs -> pulCount:*ULONG, prgIID:**IID + "GetRequestedIIDs": ctypes.WINFUNCTYPE(HRESULT, POINTER(ULONG), POINTER(POINTER(IID)))(8, "GetRequestedIIDs"), + # DelegateGetClassObject -> pActPropsOut:**IActivationPropertiesOut + "DelegateGetClassObject": ctypes.WINFUNCTYPE(HRESULT, POINTER(IActivationPropertiesOut))(9, "DelegateGetClassObject"), + # DelegateCreateInstance -> pUnkOuter:*IUnknown, pActPropsOut:**IActivationPropertiesOut + "DelegateCreateInstance": ctypes.WINFUNCTYPE(HRESULT, IUnknown, POINTER(IActivationPropertiesOut))(10, "DelegateCreateInstance"), + # DelegateCIAndGetCF -> pUnkOuter:*IUnknown, pActPropsOut:**IActivationPropertiesOut, ppCf:**IClassFactory + "DelegateCIAndGetCF": ctypes.WINFUNCTYPE(HRESULT, IUnknown, POINTER(IActivationPropertiesOut), POINTER(IClassFactory))(11, "DelegateCIAndGetCF"), + # GetReturnActivationProperties -> pUnk:*IUnknown, ppActOut:**IActivationPropertiesOut + "GetReturnActivationProperties": ctypes.WINFUNCTYPE(HRESULT, IUnknown, POINTER(IActivationPropertiesOut))(12, "GetReturnActivationProperties"), + } + +IClassClassicInfo._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # GetThreadingModel -> pthreadmodel:*ThreadingModel + "GetThreadingModel": ctypes.WINFUNCTYPE(HRESULT, POINTER(ThreadingModel))(3, "GetThreadingModel"), + # GetModulePath -> clsctx:CLSCTX, pwszDllName:**WCHAR + "GetModulePath": ctypes.WINFUNCTYPE(HRESULT, CLSCTX, POINTER(POINTER(WCHAR)))(4, "GetModulePath"), + # GetImplementedClsid -> ppguidClsid:**GUID + "GetImplementedClsid": ctypes.WINFUNCTYPE(HRESULT, POINTER(POINTER(GUID)))(5, "GetImplementedClsid"), + # GetProcess -> riid:REFIID, ppv:**void + "GetProcess": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(6, "GetProcess"), + # GetRemoteServerName -> pwszServerName:**WCHAR + "GetRemoteServerName": ctypes.WINFUNCTYPE(HRESULT, POINTER(POINTER(WCHAR)))(7, "GetRemoteServerName"), + # GetLocalServerType -> pType:*LocalServerType + "GetLocalServerType": ctypes.WINFUNCTYPE(HRESULT, POINTER(LocalServerType))(8, "GetLocalServerType"), + # GetSurrogateCommandLine -> pwszSurrogateCommandLine:**WCHAR + "GetSurrogateCommandLine": ctypes.WINFUNCTYPE(HRESULT, POINTER(POINTER(WCHAR)))(9, "GetSurrogateCommandLine"), + } + +IComClassInfo._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # GetConfiguredClsid -> ppguidClsid:**GUID + "GetConfiguredClsid": ctypes.WINFUNCTYPE(HRESULT, POINTER(POINTER(GUID)))(3, "GetConfiguredClsid"), + # GetProgId -> pwszProgid:**WCHAR + "GetProgId": ctypes.WINFUNCTYPE(HRESULT, POINTER(POINTER(WCHAR)))(4, "GetProgId"), + # GetClassName -> pwszClassName:**WCHAR + "GetClassName": ctypes.WINFUNCTYPE(HRESULT, POINTER(POINTER(WCHAR)))(5, "GetClassName"), + # GetApplication -> riid:REFIID, ppv:**void + "GetApplication": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(6, "GetApplication"), + # GetClassContext -> clsctxFilter:CLSCTX, pclsctx:*CLSCTX + "GetClassContext": ctypes.WINFUNCTYPE(HRESULT, CLSCTX, POINTER(CLSCTX))(7, "GetClassContext"), + # GetCustomActivatorCount -> activationStage:ACTIVATION_STAGE, pulCount:*ULONG + "GetCustomActivatorCount": ctypes.WINFUNCTYPE(HRESULT, ACTIVATION_STAGE, POINTER(ULONG))(8, "GetCustomActivatorCount"), + # GetCustomActivatorClsids -> activationStage:ACTIVATION_STAGE, prgguidClsid:**GUID + "GetCustomActivatorClsids": ctypes.WINFUNCTYPE(HRESULT, ACTIVATION_STAGE, POINTER(POINTER(GUID)))(9, "GetCustomActivatorClsids"), + # GetCustomActivators -> activationStage:ACTIVATION_STAGE, prgpActivator:***ISystemActivator + "GetCustomActivators": ctypes.WINFUNCTYPE(HRESULT, ACTIVATION_STAGE, POINTER(POINTER(ISystemActivator)))(10, "GetCustomActivators"), + # GetTypeInfo -> riid:REFIID, ppv:**void + "GetTypeInfo": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(11, "GetTypeInfo"), + # IsComPlusConfiguredClass -> pfComPlusConfiguredClass:*BOOL + "IsComPlusConfiguredClass": ctypes.WINFUNCTYPE(HRESULT, POINTER(BOOL))(12, "IsComPlusConfiguredClass"), + # MustRunInClientContext -> pbMustRunInClientContext:*BOOL + "MustRunInClientContext": ctypes.WINFUNCTYPE(HRESULT, POINTER(BOOL))(13, "MustRunInClientContext"), + # GetVersionNumber -> pdwVersionMS:*DWORD, pdwVersionLS:*DWORD + "GetVersionNumber": ctypes.WINFUNCTYPE(HRESULT, POINTER(DWORD), POINTER(DWORD))(14, "GetVersionNumber"), + # Lock -> + "Lock": ctypes.WINFUNCTYPE(HRESULT)(15, "Lock"), + # Unlock -> + "Unlock": ctypes.WINFUNCTYPE(HRESULT)(16, "Unlock"), + } + +IContext._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # SetProperty -> rpolicyId:REFGUID, flags:CPFLAGS, pUnk:*IUnknown + "SetProperty": ctypes.WINFUNCTYPE(HRESULT, REFGUID, CPFLAGS, IUnknown)(3, "SetProperty"), + # RemoveProperty -> rPolicyId:REFGUID + "RemoveProperty": ctypes.WINFUNCTYPE(HRESULT, REFGUID)(4, "RemoveProperty"), + # GetProperty -> rGuid:REFGUID, pFlags:*CPFLAGS, ppUnk:**IUnknown + "GetProperty": ctypes.WINFUNCTYPE(HRESULT, REFGUID, POINTER(CPFLAGS), POINTER(IUnknown))(5, "GetProperty"), + # EnumContextProps -> ppEnumContextProps:**IEnumContextProps + "EnumContextProps": ctypes.WINFUNCTYPE(HRESULT, POINTER(IEnumContextProps))(6, "EnumContextProps"), + } + +IEnumContextProps._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # Next -> celt:ULONG, pContextProperties:*ContextProperty, pceltFetched:*ULONG + "Next": ctypes.WINFUNCTYPE(HRESULT, ULONG, POINTER(ContextProperty), POINTER(ULONG))(3, "Next"), + # Skip -> celt:ULONG + "Skip": ctypes.WINFUNCTYPE(HRESULT, ULONG)(4, "Skip"), + # Reset -> + "Reset": ctypes.WINFUNCTYPE(HRESULT)(5, "Reset"), + # Clone -> ppEnumContextProps:**IEnumContextProps + "Clone": ctypes.WINFUNCTYPE(HRESULT, POINTER(IEnumContextProps))(6, "Clone"), + # Count -> pcelt:*ULONG + "Count": ctypes.WINFUNCTYPE(HRESULT, POINTER(ULONG))(7, "Count"), + } + +IEnumSTATSTG._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # Next -> celt:ULONG, rgelt:*STATSTG, pceltFetched:*ULONG + "Next": ctypes.WINFUNCTYPE(HRESULT, ULONG, POINTER(STATSTG), POINTER(ULONG))(3, "Next"), + # Skip -> celt:ULONG + "Skip": ctypes.WINFUNCTYPE(HRESULT, ULONG)(4, "Skip"), + # Reset -> + "Reset": ctypes.WINFUNCTYPE(HRESULT)(5, "Reset"), + # Clone -> ppenum:**IEnumSTATSTG + "Clone": ctypes.WINFUNCTYPE(HRESULT, POINTER(IEnumSTATSTG))(6, "Clone"), + } + +IInitActivationPropertiesIn._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # SetClsctx -> clsctx:DWORD + "SetClsctx": ctypes.WINFUNCTYPE(HRESULT, DWORD)(3, "SetClsctx"), + # SetActivationFlags -> actvflags:DWORD + "SetActivationFlags": ctypes.WINFUNCTYPE(HRESULT, DWORD)(4, "SetActivationFlags"), + # SetClassInfo -> pUnkClassInfo:*IUnknown + "SetClassInfo": ctypes.WINFUNCTYPE(HRESULT, IUnknown)(5, "SetClassInfo"), + # SetContextInfo -> pClientContext:*IContext, pPrototypeContext:*IContext + "SetContextInfo": ctypes.WINFUNCTYPE(HRESULT, IContext, IContext)(6, "SetContextInfo"), + # SetConstructFromStorage -> pStorage:*IStorage + "SetConstructFromStorage": ctypes.WINFUNCTYPE(HRESULT, IStorage)(7, "SetConstructFromStorage"), + # SetConstructFromFile -> wszFileName:*WCHAR, dwMode:DWORD + "SetConstructFromFile": ctypes.WINFUNCTYPE(HRESULT, POINTER(WCHAR), DWORD)(8, "SetConstructFromFile"), + } + +IOpaqueDataInfo._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # AddOpaqueData -> pData:*OpaqueData + "AddOpaqueData": ctypes.WINFUNCTYPE(HRESULT, POINTER(OpaqueData))(3, "AddOpaqueData"), + # GetOpaqueData -> guid:REFGUID, pData:**OpaqueData + "GetOpaqueData": ctypes.WINFUNCTYPE(HRESULT, REFGUID, POINTER(POINTER(OpaqueData)))(4, "GetOpaqueData"), + # DeleteOpaqueData -> guid:REFGUID + "DeleteOpaqueData": ctypes.WINFUNCTYPE(HRESULT, REFGUID)(5, "DeleteOpaqueData"), + # GetOpaqueDataCount -> pulCount:*ULONG + "GetOpaqueDataCount": ctypes.WINFUNCTYPE(HRESULT, POINTER(ULONG))(6, "GetOpaqueDataCount"), + # GetAllOpaqueData -> prgData:**OpaqueData + "GetAllOpaqueData": ctypes.WINFUNCTYPE(HRESULT, POINTER(POINTER(OpaqueData)))(7, "GetAllOpaqueData"), + } + +IPrivActivationPropertiesIn._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # GetActivationID -> pActivationID:*GUID + "GetActivationID": ctypes.WINFUNCTYPE(HRESULT, POINTER(GUID))(3, "GetActivationID"), + # GetClassInfo -> riid:REFIID, ppv:**void + "GetClassInfo": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(4, "GetClassInfo"), + # GetClsctx -> pclsctx:*DWORD + "GetClsctx": ctypes.WINFUNCTYPE(HRESULT, POINTER(DWORD))(5, "GetClsctx"), + # GetActivationFlags -> pactvflags:*DWORD + "GetActivationFlags": ctypes.WINFUNCTYPE(HRESULT, POINTER(DWORD))(6, "GetActivationFlags"), + # AddRequestedIIDs -> cIfs:DWORD, rgIID:*IID + "AddRequestedIIDs": ctypes.WINFUNCTYPE(HRESULT, DWORD, POINTER(IID))(7, "AddRequestedIIDs"), + # GetRequestedIIDs -> pulCount:*ULONG, prgIID:**IID + "GetRequestedIIDs": ctypes.WINFUNCTYPE(HRESULT, POINTER(ULONG), POINTER(POINTER(IID)))(8, "GetRequestedIIDs"), + # DelegateGetClassObject -> pActPropsOut:**IActivationPropertiesOut + "DelegateGetClassObject": ctypes.WINFUNCTYPE(HRESULT, POINTER(IActivationPropertiesOut))(9, "DelegateGetClassObject"), + # DelegateCreateInstance -> pUnkOuter:*IUnknown, pActPropsOut:**IActivationPropertiesOut + "DelegateCreateInstance": ctypes.WINFUNCTYPE(HRESULT, IUnknown, POINTER(IActivationPropertiesOut))(10, "DelegateCreateInstance"), + # DelegateCIAndGetCF -> pUnkOuter:*IUnknown, pActPropsOut:**IActivationPropertiesOut, ppCf:**IClassFactory + "DelegateCIAndGetCF": ctypes.WINFUNCTYPE(HRESULT, IUnknown, POINTER(IActivationPropertiesOut), POINTER(IClassFactory))(11, "DelegateCIAndGetCF"), + # GetReturnActivationProperties -> pUnk:*IUnknown, ppActOut:**IActivationPropertiesOut + "GetReturnActivationProperties": ctypes.WINFUNCTYPE(HRESULT, IUnknown, POINTER(IActivationPropertiesOut))(12, "GetReturnActivationProperties"), + # PrivGetReturnActivationProperties -> ppActOut:**IPrivActivationPropertiesOut + "PrivGetReturnActivationProperties": ctypes.WINFUNCTYPE(HRESULT, POINTER(IPrivActivationPropertiesOut))(13, "PrivGetReturnActivationProperties"), + # GetCOMVersion -> pVersion:*COMVERSION + "GetCOMVersion": ctypes.WINFUNCTYPE(HRESULT, POINTER(COMVERSION))(14, "GetCOMVersion"), + # GetClsid -> pClsid:*CLSID + "GetClsid": ctypes.WINFUNCTYPE(HRESULT, POINTER(CLSID))(15, "GetClsid"), + # GetClientToken -> pHandle:*HANDLE + "GetClientToken": ctypes.WINFUNCTYPE(HRESULT, POINTER(HANDLE))(16, "GetClientToken"), + # GetDestCtx -> pdwDestCtx:*DWORD + "GetDestCtx": ctypes.WINFUNCTYPE(HRESULT, POINTER(DWORD))(17, "GetDestCtx"), + } + +IPrivActivationPropertiesOut._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # GetActivationID -> pActivationID:*GUID + "GetActivationID": ctypes.WINFUNCTYPE(HRESULT, POINTER(GUID))(3, "GetActivationID"), + # GetObjectInterface -> riid:REFIID, actvflags:DWORD, ppv:**void + "GetObjectInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, DWORD, POINTER(PVOID))(4, "GetObjectInterface"), + # GetObjectInterfaces -> cIfs:DWORD, actvflags:DWORD, multiQi:*MULTI_QI + "GetObjectInterfaces": ctypes.WINFUNCTYPE(HRESULT, DWORD, DWORD, POINTER(MULTI_QI))(5, "GetObjectInterfaces"), + # RemoveRequestedIIDs -> cIfs:DWORD, rgIID:*IID + "RemoveRequestedIIDs": ctypes.WINFUNCTYPE(HRESULT, DWORD, POINTER(IID))(6, "RemoveRequestedIIDs"), + # SetObjectInterfaces -> cIfs:DWORD, pIID:*IID, pUnk:*IUnknown + "SetObjectInterfaces": ctypes.WINFUNCTYPE(HRESULT, DWORD, POINTER(IID), IUnknown)(7, "SetObjectInterfaces"), + # SetMarshalledResults -> cIfs:DWORD, pIID:*IID, pHr:*HRESULT, pIntfData:**MInterfacePointer + "SetMarshalledResults": ctypes.WINFUNCTYPE(HRESULT, DWORD, POINTER(IID), POINTER(HRESULT), POINTER(POINTER(MInterfacePointer)))(8, "SetMarshalledResults"), + # GetMarshalledResults -> pcIfs:*DWORD, pIID:**IID, pHr:**HRESULT, pIntfData:***MInterfacePointer + "GetMarshalledResults": ctypes.WINFUNCTYPE(HRESULT, POINTER(DWORD), POINTER(POINTER(IID)), POINTER(POINTER(HRESULT)), POINTER(POINTER(POINTER(MInterfacePointer))))(9, "GetMarshalledResults"), + } + +IScmReplyInfo._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # SetResolverInfo -> pResolverInfo:*PRIV_RESOLVER_INFO + "SetResolverInfo": ctypes.WINFUNCTYPE(HRESULT, POINTER(PRIV_RESOLVER_INFO))(3, "SetResolverInfo"), + # GetResolverInfo -> ppResolverInfo:**PRIV_RESOLVER_INFO + "GetResolverInfo": ctypes.WINFUNCTYPE(HRESULT, POINTER(POINTER(PRIV_RESOLVER_INFO)))(4, "GetResolverInfo"), + # SetRemoteReplyInfo -> pRemoteReply:*REMOTE_REPLY_SCM_INFO + "SetRemoteReplyInfo": ctypes.WINFUNCTYPE(HRESULT, POINTER(REMOTE_REPLY_SCM_INFO))(5, "SetRemoteReplyInfo"), + # GetRemoteReplyInfo -> ppRemoteReply:**REMOTE_REPLY_SCM_INFO + "GetRemoteReplyInfo": ctypes.WINFUNCTYPE(HRESULT, POINTER(POINTER(REMOTE_REPLY_SCM_INFO)))(6, "GetRemoteReplyInfo"), + } + +IScmRequestInfo._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # SetScmInfo -> pScmInfo:*PRIV_SCM_INFO + "SetScmInfo": ctypes.WINFUNCTYPE(HRESULT, POINTER(PRIV_SCM_INFO))(3, "SetScmInfo"), + # GetScmInfo -> ppScmInfo:**PRIV_SCM_INFO + "GetScmInfo": ctypes.WINFUNCTYPE(HRESULT, POINTER(POINTER(PRIV_SCM_INFO)))(4, "GetScmInfo"), + # SetRemoteRequestInfo -> pRemoteReq:*REMOTE_REQUEST_SCM_INFO + "SetRemoteRequestInfo": ctypes.WINFUNCTYPE(HRESULT, POINTER(REMOTE_REQUEST_SCM_INFO))(5, "SetRemoteRequestInfo"), + # GetRemoteRequestInfo -> ppRemoteReq:**REMOTE_REQUEST_SCM_INFO + "GetRemoteRequestInfo": ctypes.WINFUNCTYPE(HRESULT, POINTER(POINTER(REMOTE_REQUEST_SCM_INFO)))(6, "GetRemoteRequestInfo"), + } + +IStandardActivator._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # StandardGetClassObject -> rclsid:REFCLSID, dwClsCtx:DWORD, pServerInfo:*COSERVERINFO, riid:REFIID, ppv:**void + "StandardGetClassObject": ctypes.WINFUNCTYPE(HRESULT, REFCLSID, DWORD, POINTER(COSERVERINFO), REFIID, POINTER(PVOID))(3, "StandardGetClassObject"), + # StandardCreateInstance -> Clsid:REFCLSID, punkOuter:*IUnknown, dwClsCtx:DWORD, pServerInfo:*COSERVERINFO, dwCount:DWORD, pResults:*MULTI_QI + "StandardCreateInstance": ctypes.WINFUNCTYPE(HRESULT, REFCLSID, IUnknown, DWORD, POINTER(COSERVERINFO), DWORD, POINTER(MULTI_QI))(4, "StandardCreateInstance"), + # StandardGetInstanceFromFile -> pServerInfo:*COSERVERINFO, pclsidOverride:*CLSID, punkOuter:*IUnknown, dwClsCtx:DWORD, grfMode:DWORD, pwszName:*OLECHAR, dwCount:DWORD, pResults:*MULTI_QI + "StandardGetInstanceFromFile": ctypes.WINFUNCTYPE(HRESULT, POINTER(COSERVERINFO), POINTER(CLSID), IUnknown, DWORD, DWORD, POINTER(OLECHAR), DWORD, POINTER(MULTI_QI))(5, "StandardGetInstanceFromFile"), + # StandardGetInstanceFromIStorage -> pServerInfo:*COSERVERINFO, pclsidOverride:*CLSID, punkOuter:*IUnknown, dwClsCtx:DWORD, pstg:*IStorage, dwCount:DWORD, pResults:*MULTI_QI + "StandardGetInstanceFromIStorage": ctypes.WINFUNCTYPE(HRESULT, POINTER(COSERVERINFO), POINTER(CLSID), IUnknown, DWORD, IStorage, DWORD, POINTER(MULTI_QI))(6, "StandardGetInstanceFromIStorage"), + # Reset -> + "Reset": ctypes.WINFUNCTYPE(HRESULT)(7, "Reset"), + } + +IStorage._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # CreateStream -> pwcsName:*OLECHAR, grfMode:DWORD, reserved1:DWORD, reserved2:DWORD, ppstm:**IStream + "CreateStream": ctypes.WINFUNCTYPE(HRESULT, POINTER(OLECHAR), DWORD, DWORD, DWORD, POINTER(IStream))(3, "CreateStream"), + # OpenStream -> pwcsName:*OLECHAR, reserved1:*void, grfMode:DWORD, reserved2:DWORD, ppstm:**IStream + "OpenStream": ctypes.WINFUNCTYPE(HRESULT, POINTER(OLECHAR), PVOID, DWORD, DWORD, POINTER(IStream))(4, "OpenStream"), + # CreateStorage -> pwcsName:*OLECHAR, grfMode:DWORD, reserved1:DWORD, reserved2:DWORD, ppstg:**IStorage + "CreateStorage": ctypes.WINFUNCTYPE(HRESULT, POINTER(OLECHAR), DWORD, DWORD, DWORD, POINTER(IStorage))(5, "CreateStorage"), + # OpenStorage -> pwcsName:*OLECHAR, pstgPriority:*IStorage, grfMode:DWORD, snbExclude:SNB, reserved:DWORD, ppstg:**IStorage + "OpenStorage": ctypes.WINFUNCTYPE(HRESULT, POINTER(OLECHAR), IStorage, DWORD, SNB, DWORD, POINTER(IStorage))(6, "OpenStorage"), + # CopyTo -> ciidExclude:DWORD, rgiidExclude:*IID, snbExclude:SNB, pstgDest:*IStorage + "CopyTo": ctypes.WINFUNCTYPE(HRESULT, DWORD, POINTER(IID), SNB, IStorage)(7, "CopyTo"), + # MoveElementTo -> pwcsName:*OLECHAR, pstgDest:*IStorage, pwcsNewName:*OLECHAR, grfFlags:DWORD + "MoveElementTo": ctypes.WINFUNCTYPE(HRESULT, POINTER(OLECHAR), IStorage, POINTER(OLECHAR), DWORD)(8, "MoveElementTo"), + # Commit -> grfCommitFlags:DWORD + "Commit": ctypes.WINFUNCTYPE(HRESULT, DWORD)(9, "Commit"), + # Revert -> + "Revert": ctypes.WINFUNCTYPE(HRESULT)(10, "Revert"), + # EnumElements -> reserved1:DWORD, reserved2:*void, reserved3:DWORD, ppenum:**IEnumSTATSTG + "EnumElements": ctypes.WINFUNCTYPE(HRESULT, DWORD, PVOID, DWORD, POINTER(IEnumSTATSTG))(11, "EnumElements"), + # DestroyElement -> pwcsName:*OLECHAR + "DestroyElement": ctypes.WINFUNCTYPE(HRESULT, POINTER(OLECHAR))(12, "DestroyElement"), + # RenameElement -> pwcsOldName:*OLECHAR, pwcsNewName:*OLECHAR + "RenameElement": ctypes.WINFUNCTYPE(HRESULT, POINTER(OLECHAR), POINTER(OLECHAR))(13, "RenameElement"), + # SetElementTimes -> pwcsName:*OLECHAR, pctime:*FILETIME, patime:*FILETIME, pmtime:*FILETIME + "SetElementTimes": ctypes.WINFUNCTYPE(HRESULT, POINTER(OLECHAR), POINTER(FILETIME), POINTER(FILETIME), POINTER(FILETIME))(14, "SetElementTimes"), + # SetClass -> clsid:REFCLSID + "SetClass": ctypes.WINFUNCTYPE(HRESULT, REFCLSID)(15, "SetClass"), + # SetStateBits -> grfStateBits:DWORD, grfMask:DWORD + "SetStateBits": ctypes.WINFUNCTYPE(HRESULT, DWORD, DWORD)(16, "SetStateBits"), + # Stat -> pstatstg:*STATSTG, grfStatFlag:DWORD + "Stat": ctypes.WINFUNCTYPE(HRESULT, POINTER(STATSTG), DWORD)(17, "Stat"), + } + +ISystemActivator._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # GetClassObject -> pActProperties:*IActivationPropertiesIn, ppActProperties:**IActivationPropertiesOut + "GetClassObject": ctypes.WINFUNCTYPE(HRESULT, IActivationPropertiesIn, POINTER(IActivationPropertiesOut))(3, "GetClassObject"), + # CreateInstance -> pUnkOuter:*IUnknown, pActProperties:*IActivationPropertiesIn, ppActProperties:**IActivationPropertiesOut + "CreateInstance": ctypes.WINFUNCTYPE(HRESULT, IUnknown, IActivationPropertiesIn, POINTER(IActivationPropertiesOut))(4, "CreateInstance"), + } + IBindCtx._functions_ = { # QueryInterface -> riid:REFIID, ppvObject:**void "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), @@ -1263,55 +2073,6 @@ IExplorerCommand._functions_ = { "EnumSubCommands": ctypes.WINFUNCTYPE(HRESULT, POINTER(IEnumExplorerCommand))(10, "EnumSubCommands"), } -IMoniker._functions_ = { - # QueryInterface -> riid:REFIID, ppvObject:**void - "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), - # AddRef -> - "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), - # Release -> - "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), - # GetClassID -> pClassID:*CLSID - "GetClassID": ctypes.WINFUNCTYPE(HRESULT, POINTER(CLSID))(3, "GetClassID"), - # IsDirty -> - "IsDirty": ctypes.WINFUNCTYPE(HRESULT)(4, "IsDirty"), - # Load -> pStm:*IStream - "Load": ctypes.WINFUNCTYPE(HRESULT, IStream)(5, "Load"), - # Save -> pStm:*IStream, fClearDirty:BOOL - "Save": ctypes.WINFUNCTYPE(HRESULT, IStream, BOOL)(6, "Save"), - # GetSizeMax -> pcbSize:*ULARGE_INTEGER - "GetSizeMax": ctypes.WINFUNCTYPE(HRESULT, POINTER(ULARGE_INTEGER))(7, "GetSizeMax"), - # BindToObject -> pbc:*IBindCtx, pmkToLeft:*IMoniker, riidResult:REFIID, ppvResult:**void - "BindToObject": ctypes.WINFUNCTYPE(HRESULT, IBindCtx, IMoniker, REFIID, POINTER(PVOID))(8, "BindToObject"), - # BindToStorage -> pbc:*IBindCtx, pmkToLeft:*IMoniker, riid:REFIID, ppvObj:**void - "BindToStorage": ctypes.WINFUNCTYPE(HRESULT, IBindCtx, IMoniker, REFIID, POINTER(PVOID))(9, "BindToStorage"), - # Reduce -> pbc:*IBindCtx, dwReduceHowFar:DWORD, ppmkToLeft:**IMoniker, ppmkReduced:**IMoniker - "Reduce": ctypes.WINFUNCTYPE(HRESULT, IBindCtx, DWORD, POINTER(IMoniker), POINTER(IMoniker))(10, "Reduce"), - # ComposeWith -> pmkRight:*IMoniker, fOnlyIfNotGeneric:BOOL, ppmkComposite:**IMoniker - "ComposeWith": ctypes.WINFUNCTYPE(HRESULT, IMoniker, BOOL, POINTER(IMoniker))(11, "ComposeWith"), - # Enum -> fForward:BOOL, ppenumMoniker:**IEnumMoniker - "Enum": ctypes.WINFUNCTYPE(HRESULT, BOOL, POINTER(IEnumMoniker))(12, "Enum"), - # IsEqual -> pmkOtherMoniker:*IMoniker - "IsEqual": ctypes.WINFUNCTYPE(HRESULT, IMoniker)(13, "IsEqual"), - # Hash -> pdwHash:*DWORD - "Hash": ctypes.WINFUNCTYPE(HRESULT, POINTER(DWORD))(14, "Hash"), - # IsRunning -> pbc:*IBindCtx, pmkToLeft:*IMoniker, pmkNewlyRunning:*IMoniker - "IsRunning": ctypes.WINFUNCTYPE(HRESULT, IBindCtx, IMoniker, IMoniker)(15, "IsRunning"), - # GetTimeOfLastChange -> pbc:*IBindCtx, pmkToLeft:*IMoniker, pFileTime:*FILETIME - "GetTimeOfLastChange": ctypes.WINFUNCTYPE(HRESULT, IBindCtx, IMoniker, POINTER(FILETIME))(16, "GetTimeOfLastChange"), - # Inverse -> ppmk:**IMoniker - "Inverse": ctypes.WINFUNCTYPE(HRESULT, POINTER(IMoniker))(17, "Inverse"), - # CommonPrefixWith -> pmkOther:*IMoniker, ppmkPrefix:**IMoniker - "CommonPrefixWith": ctypes.WINFUNCTYPE(HRESULT, IMoniker, POINTER(IMoniker))(18, "CommonPrefixWith"), - # RelativePathTo -> pmkOther:*IMoniker, ppmkRelPath:**IMoniker - "RelativePathTo": ctypes.WINFUNCTYPE(HRESULT, IMoniker, POINTER(IMoniker))(19, "RelativePathTo"), - # GetDisplayName -> pbc:*IBindCtx, pmkToLeft:*IMoniker, ppszDisplayName:*LPOLESTR - "GetDisplayName": ctypes.WINFUNCTYPE(HRESULT, IBindCtx, IMoniker, POINTER(LPOLESTR))(20, "GetDisplayName"), - # ParseDisplayName -> pbc:*IBindCtx, pmkToLeft:*IMoniker, pszDisplayName:LPOLESTR, pchEaten:*ULONG, ppmkOut:**IMoniker - "ParseDisplayName": ctypes.WINFUNCTYPE(HRESULT, IBindCtx, IMoniker, LPOLESTR, POINTER(ULONG), POINTER(IMoniker))(21, "ParseDisplayName"), - # IsSystemMoniker -> pdwMksys:*DWORD - "IsSystemMoniker": ctypes.WINFUNCTYPE(HRESULT, POINTER(DWORD))(22, "IsSystemMoniker"), - } - IRunningObjectTable._functions_ = { # QueryInterface -> riid:REFIID, ppvObject:**void "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), @@ -1377,35 +2138,46 @@ IShellItemArray._functions_ = { "EnumItems": ctypes.WINFUNCTYPE(HRESULT, POINTER(IEnumShellItems))(9, "EnumItems"), } -IStream._functions_ = { +IProxyManager._functions_ = { # QueryInterface -> riid:REFIID, ppvObject:**void "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), # AddRef -> "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), # Release -> "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), - # Read -> pv:*void, cb:ULONG, pcbRead:*ULONG - "Read": ctypes.WINFUNCTYPE(HRESULT, PVOID, ULONG, POINTER(ULONG))(3, "Read"), - # Write -> pv:*void, cb:ULONG, pcbWritten:*ULONG - "Write": ctypes.WINFUNCTYPE(HRESULT, PVOID, ULONG, POINTER(ULONG))(4, "Write"), - # Seek -> dlibMove:LARGE_INTEGER, dwOrigin:DWORD, plibNewPosition:*ULARGE_INTEGER - "Seek": ctypes.WINFUNCTYPE(HRESULT, LARGE_INTEGER, DWORD, POINTER(ULARGE_INTEGER))(5, "Seek"), - # SetSize -> libNewSize:ULARGE_INTEGER - "SetSize": ctypes.WINFUNCTYPE(HRESULT, ULARGE_INTEGER)(6, "SetSize"), - # CopyTo -> pstm:*IStream, cb:ULARGE_INTEGER, pcbRead:*ULARGE_INTEGER, pcbWritten:*ULARGE_INTEGER - "CopyTo": ctypes.WINFUNCTYPE(HRESULT, IStream, ULARGE_INTEGER, POINTER(ULARGE_INTEGER), POINTER(ULARGE_INTEGER))(7, "CopyTo"), - # Commit -> grfCommitFlags:DWORD - "Commit": ctypes.WINFUNCTYPE(HRESULT, DWORD)(8, "Commit"), - # Revert -> - "Revert": ctypes.WINFUNCTYPE(HRESULT)(9, "Revert"), - # LockRegion -> libOffset:ULARGE_INTEGER, cb:ULARGE_INTEGER, dwLockType:DWORD - "LockRegion": ctypes.WINFUNCTYPE(HRESULT, ULARGE_INTEGER, ULARGE_INTEGER, DWORD)(10, "LockRegion"), - # UnlockRegion -> libOffset:ULARGE_INTEGER, cb:ULARGE_INTEGER, dwLockType:DWORD - "UnlockRegion": ctypes.WINFUNCTYPE(HRESULT, ULARGE_INTEGER, ULARGE_INTEGER, DWORD)(11, "UnlockRegion"), - # Stat -> pstatstg:*STATSTG, grfStatFlag:DWORD - "Stat": ctypes.WINFUNCTYPE(HRESULT, POINTER(STATSTG), DWORD)(12, "Stat"), - # Clone -> ppstm:**IStream - "Clone": ctypes.WINFUNCTYPE(HRESULT, POINTER(IStream))(13, "Clone"), + # CreateServer -> rclsid:*REFCLSID, clsctx:*DWORD, pv:*PVOID + "CreateServer": ctypes.WINFUNCTYPE(HRESULT, POINTER(REFCLSID), POINTER(DWORD), POINTER(PVOID))(3, "CreateServer"), + # IsConnected -> + "IsConnected": ctypes.WINFUNCTYPE(BOOL)(4, "IsConnected"), + # LockConnection -> fLock:BOOL, fLastUnlockReleases:BOOL + "LockConnection": ctypes.WINFUNCTYPE(HRESULT, BOOL, BOOL)(5, "LockConnection"), + # Disconnect -> + "Disconnect": ctypes.WINFUNCTYPE(HRESULT)(6, "Disconnect"), + # GetConnectionStatus -> + "GetConnectionStatus": ctypes.WINFUNCTYPE(HRESULT)(7, "GetConnectionStatus"), + # ScalarDeletingDestructor -> + "ScalarDeletingDestructor": ctypes.WINFUNCTYPE(HRESULT)(8, "ScalarDeletingDestructor"), + # SetMapping -> + "SetMapping": ctypes.WINFUNCTYPE(HRESULT)(9, "SetMapping"), + # GetMapping -> + "GetMapping": ctypes.WINFUNCTYPE(HRESULT)(10, "GetMapping"), + # GetServerObjectContext -> + "GetServerObjectContext": ctypes.WINFUNCTYPE(IObjContext)(11, "GetServerObjectContext"), + # GetWrapperForContex -> pCtx:*IObjContext, riid:*IID, ppv:**void + "GetWrapperForContex": ctypes.WINFUNCTYPE(HRESULT, IObjContext, POINTER(IID), POINTER(PVOID))(12, "GetWrapperForContex"), + } + +IProxyServerIdentity._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # GetServerProcessId -> processId:*UINT + "GetServerProcessId": ctypes.WINFUNCTYPE(HRESULT, POINTER(UINT))(3, "GetServerProcessId"), + # GetServerProcessHandle -> dwDesiredAccess:DWORD, bInheritHandle:INT, phProcess:*PVOID + "GetServerProcessHandle": ctypes.WINFUNCTYPE(HRESULT, DWORD, INT, POINTER(PVOID))(4, "GetServerProcessHandle"), } IApplicationActivationManager._functions_ = { @@ -1473,6 +2245,95 @@ IPackageExecutionStateChangeNotification._functions_ = { "OnStateChanged": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, PACKAGE_EXECUTION_STATE)(3, "OnStateChanged"), } +IChannelHook._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # ClientGetSize -> uExtent:REFGUID, riid:REFIID, pDataSize:*ULONG + "ClientGetSize": ctypes.WINFUNCTYPE(PVOID, REFGUID, REFIID, POINTER(ULONG))(3, "ClientGetSize"), + # ClientFillBuffer -> uExtent:REFGUID, riid:REFIID, pDataSize:*ULONG, pDataBuffer:*void + "ClientFillBuffer": ctypes.WINFUNCTYPE(PVOID, REFGUID, REFIID, POINTER(ULONG), PVOID)(4, "ClientFillBuffer"), + # ClientNotify -> uExtent:REFGUID, riid:REFIID, cbDataSize:ULONG, pDataBuffer:*void, lDataRep:DWORD, hrFault:HRESULT + "ClientNotify": ctypes.WINFUNCTYPE(PVOID, REFGUID, REFIID, ULONG, PVOID, DWORD, HRESULT)(5, "ClientNotify"), + # ServerNotify -> uExtent:REFGUID, riid:REFIID, cbDataSize:ULONG, pDataBuffer:*void, lDataRep:DWORD + "ServerNotify": ctypes.WINFUNCTYPE(PVOID, REFGUID, REFIID, ULONG, PVOID, DWORD)(6, "ServerNotify"), + # ServerGetSize -> uExtent:REFGUID, riid:REFIID, hrFault:HRESULT, pDataSize:*ULONG + "ServerGetSize": ctypes.WINFUNCTYPE(PVOID, REFGUID, REFIID, HRESULT, POINTER(ULONG))(7, "ServerGetSize"), + # ServerFillBuffer -> uExtent:REFGUID, riid:REFIID, pDataSize:*ULONG, pDataBuffer:*void, hrFault:HRESULT + "ServerFillBuffer": ctypes.WINFUNCTYPE(PVOID, REFGUID, REFIID, POINTER(ULONG), PVOID, HRESULT)(8, "ServerFillBuffer"), + } + +IRpcChannelBuffer._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # GetBuffer -> pMessage:*RPCOLEMESSAGE, riid:REFIID + "GetBuffer": ctypes.WINFUNCTYPE(HRESULT, POINTER(RPCOLEMESSAGE), REFIID)(3, "GetBuffer"), + # SendReceive -> pMessage:*RPCOLEMESSAGE, pStatus:*ULONG + "SendReceive": ctypes.WINFUNCTYPE(HRESULT, POINTER(RPCOLEMESSAGE), POINTER(ULONG))(4, "SendReceive"), + # FreeBuffer -> pMessage:*RPCOLEMESSAGE + "FreeBuffer": ctypes.WINFUNCTYPE(HRESULT, POINTER(RPCOLEMESSAGE))(5, "FreeBuffer"), + # GetDestCtx -> pdwDestContext:*DWORD, ppvDestContext:**void + "GetDestCtx": ctypes.WINFUNCTYPE(HRESULT, POINTER(DWORD), POINTER(PVOID))(6, "GetDestCtx"), + # IsConnected -> + "IsConnected": ctypes.WINFUNCTYPE(HRESULT)(7, "IsConnected"), + } + +IRpcHelper._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # GetDCOMProtocolVersion -> pComVersion:*DWORD + "GetDCOMProtocolVersion": ctypes.WINFUNCTYPE(HRESULT, POINTER(DWORD))(3, "GetDCOMProtocolVersion"), + # GetIIDFromOBJREF -> pObjRef:*void, piid:**IID + "GetIIDFromOBJREF": ctypes.WINFUNCTYPE(HRESULT, PVOID, POINTER(POINTER(IID)))(4, "GetIIDFromOBJREF"), + } + +IRpcOptions._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # Set -> pPrx:*IUnknown, dwProperty:DWORD, dwValue:ULONG_PTR + "Set": ctypes.WINFUNCTYPE(HRESULT, IUnknown, DWORD, ULONG_PTR)(3, "Set"), + # Query -> pPrx:*IUnknown, dwProperty:DWORD, pdwValue:*ULONG_PTR + "Query": ctypes.WINFUNCTYPE(HRESULT, IUnknown, DWORD, POINTER(ULONG_PTR))(4, "Query"), + } + +IRpcStubBuffer._functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:*PVOID + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # Connect -> pUnkServer:*IUnknown + "Connect": ctypes.WINFUNCTYPE(HRESULT, IUnknown)(3, "Connect"), + # Disconnect -> + "Disconnect": ctypes.WINFUNCTYPE(PVOID)(4, "Disconnect"), + # Invoke -> _prpcmsg:*RPCOLEMESSAGE, _pRpcChannelBuffer:*IRpcChannelBuffer + "Invoke": ctypes.WINFUNCTYPE(HRESULT, POINTER(RPCOLEMESSAGE), IRpcChannelBuffer)(5, "Invoke"), + # IsIIDSupported -> riid:REFIID + "IsIIDSupported": ctypes.WINFUNCTYPE(PVOID, REFIID)(6, "IsIIDSupported"), + # CountRefs -> + "CountRefs": ctypes.WINFUNCTYPE(ULONG)(7, "CountRefs"), + # DebugServerQueryInterface -> ppv:*PVOID + "DebugServerQueryInterface": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(8, "DebugServerQueryInterface"), + # DebugServerRelease -> pv:PVOID + "DebugServerRelease": ctypes.WINFUNCTYPE(PVOID, PVOID)(9, "DebugServerRelease"), + } + IAction._functions_ = { # QueryInterface -> riid:REFIID, ppvObject:**void "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), diff --git a/windows/generated_def/meta.py b/windows/generated_def/meta.py index e037222..b73b40e 100644 --- a/windows/generated_def/meta.py +++ b/windows/generated_def/meta.py @@ -2288,6 +2288,11 @@ windef = {'ABOVE_NORMAL_PRIORITY_CLASS', 'OBJECT_INHERIT_ACE', 'OBJECT_TYPE_ALL_ACCESS', 'OBJECT_TYPE_CREATE', +'OBJREF_CUSTOM', +'OBJREF_EXTENDED', +'OBJREF_HANDLER', +'OBJREF_SIGNATURE', +'OBJREF_STANDARD', 'OBJ_CASE_INSENSITIVE', 'OBJ_EXCLUSIVE', 'OBJ_FORCE_ACCESS_CHECK', @@ -2299,6 +2304,17 @@ windef = {'ABOVE_NORMAL_PRIORITY_CLASS', 'OBJ_VALID_ATTRIBUTES', 'OPEN_ALWAYS', 'OPEN_EXISTING', +'ORPCF_ASYNC', +'ORPCF_DYNAMIC_CLOAKING', +'ORPCF_INPUT_SYNC', +'ORPCF_LOCAL', +'ORPCF_NULL', +'ORPCF_REJECTED', +'ORPCF_RESERVED1', +'ORPCF_RESERVED2', +'ORPCF_RESERVED3', +'ORPCF_RESERVED4', +'ORPCF_RETRY_LATER', 'OS_ADVSERVER', 'OS_ANYSERVER', 'OS_APPLIANCE', @@ -2904,6 +2920,16 @@ windef = {'ABOVE_NORMAL_PRIORITY_CLASS', 'SOCK_RDM', 'SOCK_SEQPACKET', 'SOCK_STREAM', +'SORF_NOPING', +'SORF_NULL', +'SORF_OXRES1', +'SORF_OXRES2', +'SORF_OXRES3', +'SORF_OXRES4', +'SORF_OXRES5', +'SORF_OXRES6', +'SORF_OXRES7', +'SORF_OXRES8', 'SPC_CAB_DATA_OBJID', 'SPC_CERT_EXTENSIONS_OBJID', 'SPC_COMMERCIAL_SP_KEY_PURPOSE_OBJID', @@ -12190,6 +12216,7 @@ structs = {'ACCESS_ALLOWED_ACE', 'CERT_TRUST_LIST_INFO', 'CERT_TRUST_STATUS', 'CERT_USAGE_MATCH', +'CID', 'CLAIM_SECURITY_ATTRIBUTES_INFORMATION', 'CLAIM_SECURITY_ATTRIBUTES_INFORMATION_UNION', 'CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE', @@ -12215,6 +12242,10 @@ structs = {'ACCESS_ALLOWED_ACE', 'COAUTHIDENTITY', 'COAUTHINFO', 'COMVERSION', +'CONTAINERTHAT', +'CONTAINERVERSION', +'CONTAINER_EXTENT', +'CONTAINER_EXTENT_ARRAY', 'CONTEXT32', 'CONTEXT64', 'COSERVERINFO', @@ -12260,6 +12291,8 @@ structs = {'ACCESS_ALLOWED_ACE', 'CTL_INFO', 'CTL_USAGE', 'CURDIR', +'ContextProperty', +'DATAELEMENT', 'DATA_BLOB', 'DEBUG_BREAKPOINT_PARAMETERS', 'DEBUG_EVENT', @@ -12352,6 +12385,7 @@ structs = {'ACCESS_ALLOWED_ACE', 'DNS_WINSR_DATAW', 'DNS_WINS_DATA', 'DNS_WKS_DATA', +'DUALSTRINGARRAY', 'ELEMDESC', 'ENABLE_TRACE_PARAMETERS', 'ENUM_SERVICE_STATUSA', @@ -12428,6 +12462,7 @@ structs = {'ACCESS_ALLOWED_ACE', 'GROUP_USERS_INFO_0', 'GROUP_USERS_INFO_1', 'GUID', +'HSTRING__', 'IDLDESC', 'IID', 'IMAGEHLP_CBA_EVENT', @@ -12469,6 +12504,7 @@ structs = {'ACCESS_ALLOWED_ACE', 'IO_Resource_s', 'IO_STATUS_BLOCK', 'IP6_ADDRESS', +'IPID', 'IP_ADAPTER_INDEX_MAP', 'IP_ADAPTER_INFO', 'IP_ADDRESS_STRING', @@ -12505,7 +12541,10 @@ structs = {'ACCESS_ALLOWED_ACE', 'LOCALGROUP_MEMBERS_INFO_1', 'LOCALGROUP_MEMBERS_INFO_2', 'LOCALGROUP_MEMBERS_INFO_3', +'LOCALTHAT', +'LOCALTHAT32', 'LOCALTHIS', +'LOCALTHIS32', 'LPADDRESS', 'LPADDRESS64', 'LPBINDPTR', @@ -12646,7 +12685,9 @@ structs = {'ACCESS_ALLOWED_ACE', 'MIB_UDP6TABLE_OWNER_PID', 'MIB_UDPROW_OWNER_PID', 'MIB_UDPTABLE_OWNER_PID', +'MIDL_ILocalObjectExporter_0007', 'MIDL_XmitDefs_0001', +'MInterfacePointer', 'MODLOAD_DATA', 'MULTI_QI', 'Mem_Des_s', @@ -12668,8 +12709,15 @@ structs = {'ACCESS_ALLOWED_ACE', 'OBJECT_ATTRIBUTES', 'OBJECT_DIRECTORY_INFORMATION', 'OBJECT_TYPES_INFORMATION', +'OBJREF', +'OBJREFDATA', 'OPEN_VIRTUAL_DISK_PARAMETERS', +'ORPCTHAT', +'ORPCTHAT32', 'ORPCTHIS', +'ORPCTHIS32', +'ORPC_EXTENT', +'ORPC_EXTENT_ARRAY', 'OSVERSIONINFOA', 'OSVERSIONINFOEXA', 'OSVERSIONINFOEXW', @@ -12677,6 +12725,8 @@ structs = {'ACCESS_ALLOWED_ACE', 'OUTPUT_DEBUG_STRING_INFO', 'OVERLAPPED', 'OVERLAPPED_ENTRY', +'OXID_INFO', +'OpaqueData', 'PACCESS_ALLOWED_ACE', 'PACCESS_ALLOWED_CALLBACK_ACE', 'PACCESS_ALLOWED_CALLBACK_OBJECT_ACE', @@ -12826,6 +12876,7 @@ structs = {'ACCESS_ALLOWED_ACE', 'PCTL_INFO', 'PCTL_USAGE', 'PCURDIR', +'PDATAELEMENT', 'PDATA_BLOB', 'PDEBUG_BREAKPOINT_PARAMETERS', 'PDEBUG_EXCEPTION_FILTER_PARAMETERS', @@ -13074,6 +13125,7 @@ structs = {'ACCESS_ALLOWED_ACE', 'PMIB_UDP6TABLE_OWNER_PID', 'PMIB_UDPROW_OWNER_PID', 'PMIB_UDPTABLE_OWNER_PID', +'PMInterfacePointer', 'PMODLOAD_DATA', 'PNET_DISPLAY_GROUP', 'PNET_DISPLAY_MACHINE', @@ -13088,6 +13140,7 @@ structs = {'ACCESS_ALLOWED_ACE', 'POLICY_LSA_SERVER_ROLE_INFO', 'POLICY_PRIMARY_DOMAIN_INFO', 'POPEN_VIRTUAL_DISK_PARAMETERS', +'PORPC_EXTENT', 'PORT_MESSAGE32', 'PORT_MESSAGE32_TMP_UNION', 'PORT_MESSAGE64', @@ -13108,6 +13161,8 @@ structs = {'ACCESS_ALLOWED_ACE', 'PPORT_MESSAGE64', 'PPORT_VIEW', 'PPRIVILEGE_SET', +'PPRIV_RESOLVER_INFO', +'PPRIV_RESOLVER_INFO_LEGACY', 'PPROCESSENTRY32', 'PPROCESSENTRY32W', 'PPROCESS_BASIC_INFORMATION', @@ -13139,8 +13194,13 @@ structs = {'ACCESS_ALLOWED_ACE', 'PPUBLIC_OBJECT_BASIC_INFORMATION', 'PPUBLIC_OBJECT_TYPE_INFORMATION', 'PREMOTE_PORT_VIEW', +'PREMOTE_REPLY_SCM_INFO', +'PREMQIRESULT', 'PRGBTRIPLE', 'PRIVILEGE_SET', +'PRIV_RESOLVER_INFO', +'PRIV_RESOLVER_INFO_LEGACY', +'PRIV_SCM_INFO', 'PRLIST_ENTRY', 'PROCESSENTRY32', 'PROCESSENTRY32W', @@ -13160,6 +13220,7 @@ structs = {'ACCESS_ALLOWED_ACE', 'PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY', 'PROPERTYKEY', 'PROVIDER_ENUMERATION_INFO', +'PRPCOLEMESSAGE', 'PRTLP_CURDIR_REF', 'PRTL_DRIVE_LETTER_CURDIR', 'PRTL_OSVERSIONINFOEXW', @@ -13256,6 +13317,7 @@ structs = {'ACCESS_ALLOWED_ACE', 'PTRUSTEEW', 'PTRUSTEE_A', 'PTRUSTEE_W', +'PTestStructV1', 'PUBLICKEYSTRUC', 'PUBLIC_OBJECT_BASIC_INFORMATION', 'PUBLIC_OBJECT_TYPE_INFORMATION', @@ -13292,11 +13354,17 @@ structs = {'ACCESS_ALLOWED_ACE', 'REFCLSID', 'REFGUID', 'REFIID', +'REFIPID', 'REFPROPERTYKEY', +'REMINTERFACEREF', 'REMOTE_PORT_VIEW', +'REMOTE_REPLY_SCM_INFO', +'REMOTE_REQUEST_SCM_INFO', +'REMQIRESULT', 'RGBQUAD', 'RGBTRIPLE', 'RIP_INFO', +'RPCOLEMESSAGE', 'RPC_IF_ID', 'RTLP_CURDIR_REF', 'RTL_DRIVE_LETTER_CURDIR', @@ -13340,6 +13408,7 @@ structs = {'ACCESS_ALLOWED_ACE', 'STARTUPINFOEXW', 'STARTUPINFOW', 'STATSTG', +'STDOBJREF', 'STRING', 'STRUCT_PLAINTEXTKEYBLOB', 'SYMBOL_INFO', @@ -13388,7 +13457,6 @@ structs = {'ACCESS_ALLOWED_ACE', 'TMP_SPC_LINK_UNION', 'TMP_TYPEDESC_UNION', 'TMP_UNION_DEBUG_INFO', -'TMP_UNION_IO_STATUS_BLOCK', 'TMP_VARDESC_UNION', 'TMP_WINTRUST_UNION_TYPE', 'TMP_lowmid_union', @@ -13427,6 +13495,8 @@ structs = {'ACCESS_ALLOWED_ACE', 'TRUSTEE_W', 'TYPEATTR', 'TYPEDESC', +'TagTestStructV1', +'TestStructV1', 'UNICODE_STRING', 'UNLOAD_DLL_DEBUG_INFO', 'USER_INFO_0', @@ -13772,7 +13842,10 @@ structs = {'ACCESS_ALLOWED_ACE', '_LOCALGROUP_MEMBERS_INFO_1', '_LOCALGROUP_MEMBERS_INFO_2', '_LOCALGROUP_MEMBERS_INFO_3', +'_LOCALTHAT', +'_LOCALTHAT32', '_LOCALTHIS', +'_LOCALTHIS32', '_LSA_OBJECT_ATTRIBUTES', '_LSA_REFERENCED_DOMAIN_LIST', '_LSA_TRANSLATED_NAME', @@ -13802,6 +13875,12 @@ structs = {'ACCESS_ALLOWED_ACE', '_MIB_UDP6TABLE_OWNER_PID', '_MIB_UDPROW_OWNER_PID', '_MIB_UDPTABLE_OWNER_PID', +'_MIDL_ILocalObjectExporter_0007', +'_MIDL_XmitDefs_0001', +'_MIDL_XmitDefs_0005', +'_MIDL_XmitDefs_0007', +'_MIDL_XmitDefs_0008', +'_MIDL_XmitDefs_0010', '_MODLOAD_DATA', '_NET_DISPLAY_GROUP', '_NET_DISPLAY_MACHINE', @@ -13836,6 +13915,9 @@ structs = {'ACCESS_ALLOWED_ACE', '_PORT_MESSAGE_TMP_UNION_U2', '_PORT_VIEW', '_PRIVILEGE_SET', +'_PRIV_RESOLVER_INFO', +'_PRIV_RESOLVER_INFO_LEGACY', +'_PRIV_SCM_INFO', '_PROCESS_BASIC_INFORMATION', '_PROCESS_INFORMATION', '_PROCESS_INSTRUMENTATION_CALLBACK_INFORMATION', @@ -13868,6 +13950,8 @@ structs = {'ACCESS_ALLOWED_ACE', '_QUERY_SERVICE_CONFIGA', '_QUERY_SERVICE_CONFIGW', '_REMOTE_PORT_VIEW', +'_REMOTE_REPLY_SCM_INFO', +'_REMOTE_REQUEST_SCM_INFO', '_RIP_INFO', '_RPC_IF_ID', '_RTLP_CURDIR_REF', @@ -13942,7 +14026,6 @@ structs = {'ACCESS_ALLOWED_ACE', '_TMP_SPC_LINK_UNION', '_TMP_TYPEDESC_UNION', '_TMP_UNION_DEBUG_INFO', -'_TMP_UNION_IO_STATUS_BLOCK', '_TMP_VARDESC_UNION', '_TMP_WINTRUST_UNION_TYPE', '_TMP_lowmid', @@ -14002,7 +14085,6 @@ structs = {'ACCESS_ALLOWED_ACE', '_XSTATE_FEATURE', '__MIDL_IBackgroundCopyJob2_0003', '__MIDL_IBackgroundCopyJob2_0004', -'__MIDL_XmitDefs_0001', '__PUBLIC_OBJECT_TYPE_INFORMATION', '__tagBRECORD', '__tagVARIANT', @@ -14029,24 +14111,40 @@ structs = {'ACCESS_ALLOWED_ACE', 'tagBITMAPINFO', 'tagBITMAPINFOHEADER', 'tagCOMVERSION', +'tagContextProperty', +'tagDATAELEMENT', 'tagDEC', 'tagDISPPARAMS', +'tagDUALSTRINGARRAY', 'tagELEMDESC', 'tagEXCEPINFO', 'tagFUNCDESC', 'tagIDLDESC', +'tagMInterfacePointer', 'tagMULTI_QI', +'tagOBJREF', +'tagOBJREFDATA', +'tagORPCTHAT', 'tagORPCTHIS', +'tagORPCTHIS32', +'tagORPC_EXTENT', +'tagORPC_EXTENT_ARRAY', +'tagOXID_INFO', +'tagOpaqueData', 'tagPARAMDESC', 'tagPARAMDESCEX', 'tagPROCESSENTRY32', 'tagPROCESSENTRY32W', +'tagREMINTERFACEREF', +'tagREMQIRESULT', 'tagRGBQUAD', 'tagRGBTRIPLE', +'tagRPCOLEMESSAGE', 'tagSAFEARRAY', 'tagSAFEARRAYBOUND', 'tagSOLE_AUTHENTICATION_SERVICE', 'tagSTATSTG', +'tagSTDOBJREF', 'tagTHREADENTRY32', 'tagTLIBATTR', 'tagTYPEATTR', @@ -14059,6 +14157,7 @@ structs = {'ACCESS_ALLOWED_ACE', enums = {'ACCESS_MODE', 'ACL_INFORMATION_CLASS', 'ACTIVATEOPTIONS', +'ACTIVATION_STAGE', 'ADDRESS_MODE', 'ALPC_MESSAGE_INFORMATION_CLASS', 'ALPC_PORT_INFORMATION_CLASS', @@ -14081,6 +14180,7 @@ enums = {'ACCESS_MODE', 'COINIT', 'COMPUTER_NAME_FORMAT', 'COMSD', +'CPFLAGS', 'DESCKIND', 'DNS_FREE_TYPE', 'DataKind', @@ -14112,9 +14212,11 @@ enums = {'ACCESS_MODE', 'IO_PRIORITY_HINT', 'KEY_INFORMATION_CLASS', 'KEY_VALUE_INFORMATION_CLASS', +'LocalServerType', 'MEMORY_INFORMATION_CLASS', 'MEM_EXTENDED_PARAMETER_TYPE', 'MIB_TCP_STATE', +'MSHCTX', 'MSHLFLAGS', 'MULTIPLE_TRUSTEE_OPERATION', 'NDR_FORMAT_CHARACTER', @@ -14162,6 +14264,7 @@ enums = {'ACCESS_MODE', 'SICHINTF', 'SID_NAME_USE', 'SIGDN', +'STREAM_SEEK', 'SYM_TYPE', 'SYSKIND', 'SYSTEM_INFORMATION_CLASS', @@ -14186,6 +14289,7 @@ enums = {'ACCESS_MODE', 'TRUSTEE_FORM', 'TRUSTEE_TYPE', 'TYPEKIND', +'ThreadingModel', 'UDP_TABLE_CLASS', 'UdtKind', 'VARENUM', @@ -14283,18 +14387,24 @@ enums = {'ACCESS_MODE', '_WELL_KNOWN_SID_TYPE', '__MIDL_IBackgroundCopyJob2_0001', '__MIDL_IBackgroundCopyJob2_0002', +'tagACTIVATION_STAGE', 'tagCALLCONV', 'tagCALLFRAME_WALK', 'tagCLSCTX', 'tagCOINIT', 'tagCOMSD', +'tagCPFLAGS', 'tagDESCKIND', 'tagFUNCKIND', 'tagINVOKEKIND', +'tagLocalServerType', +'tagMSHCTX', 'tagMSHLFLAGS', +'tagSTREAM_SEEK', 'tagSYSKIND', 'tagTOKEN_TYPE', 'tagTYPEKIND', +'tagThreadingModel', 'tagVARKIND', 'tag_WBEMSTATUS', 'tag_WBEM_CHANGE_FLAG_TYPE', @@ -14386,7 +14496,9 @@ functions = {'AccessCheck', 'CoGetInterceptor', 'CoInitializeEx', 'CoInitializeSecurity', +'CoMarshalInterface', 'CoTaskMemFree', +'CoUnmarshalInterface', 'CommitTransaction', 'ConnectNamedPipe', 'ContinueDebugEvent', @@ -14425,6 +14537,7 @@ functions = {'AccessCheck', 'CreateRemoteThread', 'CreateServiceA', 'CreateServiceW', +'CreateStreamOnHGlobal', 'CreateThread', 'CreateToolhelp32Snapshot', 'CreateTransaction', @@ -14616,6 +14729,7 @@ functions = {'AccessCheck', 'GetFirmwareEnvironmentVariableExW', 'GetFirmwareEnvironmentVariableW', 'GetForegroundWindow', +'GetHGlobalFromStream', 'GetIfTable', 'GetInterfaceInfo', 'GetIpAddrTable', @@ -15031,6 +15145,7 @@ functions = {'AccessCheck', 'SymEnumTypes', 'SymEnumTypesByName', 'SymEnumTypesByNameW', +'SymEnumTypesW', 'SymEnumerateModules64', 'SymEnumerateModulesW64', 'SymFromAddr', @@ -15144,6 +15259,10 @@ functions = {'AccessCheck', interfaces = {'IAction', 'IActionCollection', +'IActivationProperties', +'IActivationPropertiesIn', +'IActivationPropertiesOut', +'IActivationStageInfo', 'IApplicationActivationManager', 'IBackgroundCopyCallback', 'IBackgroundCopyError', @@ -15154,17 +15273,27 @@ interfaces = {'IAction', 'IBackgroundCopyJob2', 'IBackgroundCopyManager', 'IBindCtx', +'ICallFactory', 'ICallFrame', 'ICallFrameEvents', 'ICallFrameWalker', 'ICallInterceptor', +'IChannelHook', +'IClassClassicInfo', +'IClassFactory', +'IClientSecurity', +'IComCatalog', +'IComClassInfo', 'IComHandlerAction', +'IContext', 'IDispatch', 'IEmailAction', 'IEnumBackgroundCopyFiles', 'IEnumBackgroundCopyJobs', +'IEnumContextProps', 'IEnumExplorerCommand', 'IEnumMoniker', +'IEnumSTATSTG', 'IEnumShellItems', 'IEnumString', 'IEnumVARIANT', @@ -15172,30 +15301,50 @@ interfaces = {'IAction', 'IExecAction', 'IExplorerCommand', 'IIdleSettings', +'IInitActivationPropertiesIn', +'IInternalUnknown', +'IMarshal', 'IMoniker', 'INetFwPolicy2', 'INetFwRule', 'INetFwRules', 'INetFwServiceRestriction', 'INetworkSettings', +'IObjContext', +'IOpaqueDataInfo', 'IPackageDebugSettings', 'IPackageExecutionStateChangeNotification', 'IPersist', 'IPersistFile', 'IPrincipal', +'IPrivActivationPropertiesIn', +'IPrivActivationPropertiesOut', +'IProxyManager', +'IProxyServerIdentity', 'IRegisteredTask', 'IRegisteredTaskCollection', 'IRegistrationInfo', +'IRemUnknown', 'IRepetitionPattern', +'IRpcChannelBuffer', +'IRpcHelper', +'IRpcOptions', +'IRpcStubBuffer', 'IRunningObjectTable', 'IRunningTask', 'IRunningTaskCollection', +'IScmReplyInfo', +'IScmRequestInfo', 'IShellItem', 'IShellItemArray', 'IShellLinkA', 'IShellLinkW', 'IShowMessageAction', +'IStandardActivator', +'IStdIdentity', +'IStorage', 'IStream', +'ISystemActivator', 'ITaskDefinition', 'ITaskFolder', 'ITaskFolderCollection', @@ -15217,7 +15366,8 @@ interfaces = {'IAction', 'IWbemObjectTextSrc', 'IWbemQualifierSet', 'IWbemServices', -'IWebBrowser2'} +'IWebBrowser2', +'MyCls'} def generate_walker(namelist, target_module): diff --git a/windows/generated_def/windef.py b/windows/generated_def/windef.py index 932222c..37a8430 100644 --- a/windows/generated_def/windef.py +++ b/windows/generated_def/windef.py @@ -316,6 +316,32 @@ RPC_RESPONSE_TYPE_SUCCESS = make_flag("RPC_RESPONSE_TYPE_SUCCESS", 3) BIND_IF_SYNTAX_NDR32 = make_flag("BIND_IF_SYNTAX_NDR32", 1) BIND_IF_SYNTAX_NDR64 = make_flag("BIND_IF_SYNTAX_NDR64", 2) BIND_IF_SYNTAX_UNKNOWN = make_flag("BIND_IF_SYNTAX_UNKNOWN", 4) +ORPCF_NULL = make_flag("ORPCF_NULL", ( 0 )) +ORPCF_LOCAL = make_flag("ORPCF_LOCAL", ( 1 )) +ORPCF_RESERVED1 = make_flag("ORPCF_RESERVED1", ( 2 )) +ORPCF_RESERVED2 = make_flag("ORPCF_RESERVED2", ( 4 )) +ORPCF_RESERVED3 = make_flag("ORPCF_RESERVED3", ( 8 )) +ORPCF_RESERVED4 = make_flag("ORPCF_RESERVED4", ( 16 )) +ORPCF_INPUT_SYNC = make_flag("ORPCF_INPUT_SYNC", ORPCF_RESERVED1) +ORPCF_ASYNC = make_flag("ORPCF_ASYNC", ORPCF_RESERVED2) +ORPCF_DYNAMIC_CLOAKING = make_flag("ORPCF_DYNAMIC_CLOAKING", ORPCF_RESERVED3) +ORPCF_REJECTED = make_flag("ORPCF_REJECTED", ORPCF_RESERVED1) +ORPCF_RETRY_LATER = make_flag("ORPCF_RETRY_LATER", ORPCF_RESERVED2) +OBJREF_SIGNATURE = make_flag("OBJREF_SIGNATURE", ( 0x574f454d )) +OBJREF_STANDARD = make_flag("OBJREF_STANDARD", ( 0x1 )) +OBJREF_HANDLER = make_flag("OBJREF_HANDLER", ( 0x2 )) +OBJREF_CUSTOM = make_flag("OBJREF_CUSTOM", ( 0x4 )) +OBJREF_EXTENDED = make_flag("OBJREF_EXTENDED", ( 0x8 )) +SORF_OXRES1 = make_flag("SORF_OXRES1", ( 0x1 )) +SORF_OXRES2 = make_flag("SORF_OXRES2", ( 0x20 )) +SORF_OXRES3 = make_flag("SORF_OXRES3", ( 0x40 )) +SORF_OXRES4 = make_flag("SORF_OXRES4", ( 0x80 )) +SORF_OXRES5 = make_flag("SORF_OXRES5", ( 0x100 )) +SORF_OXRES6 = make_flag("SORF_OXRES6", ( 0x200 )) +SORF_OXRES7 = make_flag("SORF_OXRES7", ( 0x400 )) +SORF_OXRES8 = make_flag("SORF_OXRES8", ( 0x800 )) +SORF_NULL = make_flag("SORF_NULL", ( 0 )) +SORF_NOPING = make_flag("SORF_NOPING", ( 0x1000 )) FILE_DEVICE_8042_PORT = make_flag("FILE_DEVICE_8042_PORT", 0x00000027) FILE_DEVICE_ACPI = make_flag("FILE_DEVICE_ACPI", 0x00000032) FILE_DEVICE_BATTERY = make_flag("FILE_DEVICE_BATTERY", 0x00000029) diff --git a/windows/generated_def/winfuncs.py b/windows/generated_def/winfuncs.py index adab3a2..db1515c 100644 --- a/windows/generated_def/winfuncs.py +++ b/windows/generated_def/winfuncs.py @@ -405,6 +405,26 @@ SysAllocStringParams = ((1, 'psz'),) SysFreeStringPrototype = WINFUNCTYPE(VOID, BSTR) SysFreeStringParams = ((1, 'bstrString'),) +#def CreateStreamOnHGlobal(hGlobal, fDeleteOnRelease, ppstm): +# return CreateStreamOnHGlobal.ctypes_function(hGlobal, fDeleteOnRelease, ppstm) +CreateStreamOnHGlobalPrototype = WINFUNCTYPE(HRESULT, HGLOBAL, BOOL, POINTER(LPSTREAM)) +CreateStreamOnHGlobalParams = ((1, 'hGlobal'), (1, 'fDeleteOnRelease'), (1, 'ppstm')) + +#def GetHGlobalFromStream(pstm, phglobal): +# return GetHGlobalFromStream.ctypes_function(pstm, phglobal) +GetHGlobalFromStreamPrototype = WINFUNCTYPE(HRESULT, LPUNKNOWN, POINTER(HGLOBAL)) +GetHGlobalFromStreamParams = ((1, 'pstm'), (1, 'phglobal')) + +#def CoMarshalInterface(pStm, riid, pUnk, dwDestContext, pvDestContext, mshlflags): +# return CoMarshalInterface.ctypes_function(pStm, riid, pUnk, dwDestContext, pvDestContext, mshlflags) +CoMarshalInterfacePrototype = WINFUNCTYPE(HRESULT, LPUNKNOWN, REFIID, LPUNKNOWN, DWORD, LPVOID, DWORD) +CoMarshalInterfaceParams = ((1, 'pStm'), (1, 'riid'), (1, 'pUnk'), (1, 'dwDestContext'), (1, 'pvDestContext'), (1, 'mshlflags')) + +#def CoUnmarshalInterface(pStm, riid, ppv): +# return CoUnmarshalInterface.ctypes_function(pStm, riid, ppv) +CoUnmarshalInterfacePrototype = WINFUNCTYPE(HRESULT, PVOID, REFIID, POINTER(LPVOID)) +CoUnmarshalInterfaceParams = ((1, 'pStm'), (1, 'riid'), (1, 'ppv')) + #def CryptCATAdminCalcHashFromFileHandle(hFile, pcbHash, pbHash, dwFlags): # return CryptCATAdminCalcHashFromFileHandle.ctypes_function(hFile, pcbHash, pbHash, dwFlags) CryptCATAdminCalcHashFromFileHandlePrototype = WINFUNCTYPE(BOOL, HANDLE, POINTER(DWORD), POINTER(BYTE), DWORD) @@ -2440,21 +2460,6 @@ SymEnumSymbolsParams = ((1, 'hProcess'), (1, 'BaseOfDll'), (1, 'Mask'), (1, 'Enu SymEnumSymbolsExPrototype = WINFUNCTYPE(BOOL, HANDLE, ULONG64, PCSTR, PVOID, PVOID, DWORD) SymEnumSymbolsExParams = ((1, 'hProcess'), (1, 'BaseOfDll'), (1, 'Mask'), (1, 'EnumSymbolsCallback'), (1, 'UserContext'), (1, 'Options')) -#def SymEnumTypes(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext): -# return SymEnumTypes.ctypes_function(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext) -SymEnumTypesPrototype = WINFUNCTYPE(BOOL, HANDLE, ULONG64, PVOID, PVOID) -SymEnumTypesParams = ((1, 'hProcess'), (1, 'BaseOfDll'), (1, 'EnumSymbolsCallback'), (1, 'UserContext')) - -#def SymEnumTypesByName(hProcess, BaseOfDll, mask, EnumSymbolsCallback, UserContext): -# return SymEnumTypesByName.ctypes_function(hProcess, BaseOfDll, mask, EnumSymbolsCallback, UserContext) -SymEnumTypesByNamePrototype = WINFUNCTYPE(BOOL, HANDLE, ULONG64, PCSTR, PVOID, PVOID) -SymEnumTypesByNameParams = ((1, 'hProcess'), (1, 'BaseOfDll'), (1, 'mask'), (1, 'EnumSymbolsCallback'), (1, 'UserContext')) - -#def SymEnumTypesByNameW(hProcess, BaseOfDll, mask, EnumSymbolsCallback, UserContext): -# return SymEnumTypesByNameW.ctypes_function(hProcess, BaseOfDll, mask, EnumSymbolsCallback, UserContext) -SymEnumTypesByNameWPrototype = WINFUNCTYPE(BOOL, HANDLE, ULONG64, PCWSTR, PVOID, PVOID) -SymEnumTypesByNameWParams = ((1, 'hProcess'), (1, 'BaseOfDll'), (1, 'mask'), (1, 'EnumSymbolsCallback'), (1, 'UserContext')) - #def SymEnumerateModules64(hProcess, EnumModulesCallback, UserContext): # return SymEnumerateModules64.ctypes_function(hProcess, EnumModulesCallback, UserContext) SymEnumerateModules64Prototype = WINFUNCTYPE(BOOL, HANDLE, PVOID, PVOID) @@ -2675,6 +2680,26 @@ SymSetSearchPathParams = ((1, 'hProcess'), (1, 'SearchPath')) SymSetSearchPathWPrototype = WINFUNCTYPE(BOOL, HANDLE, PCWSTR) SymSetSearchPathWParams = ((1, 'hProcess'), (1, 'SearchPath')) +#def SymEnumTypes(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext): +# return SymEnumTypes.ctypes_function(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext) +SymEnumTypesPrototype = WINFUNCTYPE(BOOL, HANDLE, ULONG64, PSYM_ENUMERATESYMBOLS_CALLBACK, PVOID) +SymEnumTypesParams = ((1, 'hProcess'), (1, 'BaseOfDll'), (1, 'EnumSymbolsCallback'), (1, 'UserContext')) + +#def SymEnumTypesW(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext): +# return SymEnumTypesW.ctypes_function(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext) +SymEnumTypesWPrototype = WINFUNCTYPE(BOOL, HANDLE, ULONG64, PSYM_ENUMERATESYMBOLS_CALLBACKW, PVOID) +SymEnumTypesWParams = ((1, 'hProcess'), (1, 'BaseOfDll'), (1, 'EnumSymbolsCallback'), (1, 'UserContext')) + +#def SymEnumTypesByName(hProcess, BaseOfDll, mask, EnumSymbolsCallback, UserContext): +# return SymEnumTypesByName.ctypes_function(hProcess, BaseOfDll, mask, EnumSymbolsCallback, UserContext) +SymEnumTypesByNamePrototype = WINFUNCTYPE(BOOL, HANDLE, ULONG64, PCSTR, PSYM_ENUMERATESYMBOLS_CALLBACK, PVOID) +SymEnumTypesByNameParams = ((1, 'hProcess'), (1, 'BaseOfDll'), (1, 'mask'), (1, 'EnumSymbolsCallback'), (1, 'UserContext')) + +#def SymEnumTypesByNameW(hProcess, BaseOfDll, mask, EnumSymbolsCallback, UserContext): +# return SymEnumTypesByNameW.ctypes_function(hProcess, BaseOfDll, mask, EnumSymbolsCallback, UserContext) +SymEnumTypesByNameWPrototype = WINFUNCTYPE(BOOL, HANDLE, ULONG64, PCWSTR, PSYM_ENUMERATESYMBOLS_CALLBACKW, PVOID) +SymEnumTypesByNameWParams = ((1, 'hProcess'), (1, 'BaseOfDll'), (1, 'mask'), (1, 'EnumSymbolsCallback'), (1, 'UserContext')) + #def CreateEventA(lpEventAttributes, bManualReset, bInitialState, lpName): # return CreateEventA.ctypes_function(lpEventAttributes, bManualReset, bInitialState, lpName) CreateEventAPrototype = WINFUNCTYPE(HANDLE, LPSECURITY_ATTRIBUTES, BOOL, BOOL, LPCSTR) diff --git a/windows/generated_def/winstructs.py b/windows/generated_def/winstructs.py index 88be678..33d9ad3 100644 --- a/windows/generated_def/winstructs.py +++ b/windows/generated_def/winstructs.py @@ -93,6 +93,7 @@ LPCH = c_char_p LPWCH = c_wchar BSTR = c_wchar_p OLECHAR = c_wchar +SNB = POINTER(POINTER(OLECHAR)) POLECHAR = c_wchar_p PZZWSTR = c_wchar_p PUCHAR = POINTER(UCHAR) @@ -128,7 +129,7 @@ ALG_ID = UINT DISPID = LONG MEMBERID = DISPID LRESULT = LONG_PTR -LPUNKNOWN = POINTER(PVOID) +LPUNKNOWN = PVOID LPPOINT = POINTER(POINT) LPRECT = POINTER(RECT) SPC_UUID = BYTE*16 @@ -137,6 +138,8 @@ PWINDBG_EXTENSION_APIS32 = PVOID PWINDBG_EXTENSION_APIS64 = PVOID FILEOP_FLAGS = WORD NET_API_STATUS = DWORD +PVOID32 = DWORD +PVOID64 = DWORD64 NCRYPT_HANDLE = ULONG_PTR NCRYPT_PROV_HANDLE = ULONG_PTR NCRYPT_KEY_HANDLE = ULONG_PTR @@ -253,6 +256,12 @@ DEVINSTID_W = LPWSTR RPCOLEDATAREP = ULONG HREFTYPE = DWORD SFGAOF = ULONG +ID = ULONG64 +MID = ID +OXID = ID +OID = ID +SETID = ID +LPSTREAM = PVOID#Istream* GROUP = UINT SOCKET = HANDLE WNDPROC = PVOID @@ -473,15 +482,18 @@ class _GUID(Structure): ("Data3", USHORT), ("Data4", BYTE * (8)), ] +CID = _GUID CLSID = _GUID GUID = _GUID IID = _GUID +IPID = _GUID LPCGUID = POINTER(_GUID) LPCLSID = POINTER(_GUID) LPGUID = POINTER(_GUID) REFCLSID = POINTER(_GUID) REFGUID = POINTER(_GUID) REFIID = POINTER(_GUID) +REFIPID = POINTER(_GUID) INITIAL_GUID = _GUID class _GUID(INITIAL_GUID): @@ -507,7 +519,7 @@ class _GUID(INITIAL_GUID): self.name = None if self.name is None: return ''.format(self.strid.upper()) - return ''.format(self.strid.upper(), self.name) + return ''.format(self.strid.upper(), self.name) __sprint__ = __repr__ @@ -543,15 +555,18 @@ class _GUID(INITIAL_GUID): return NotImplemented return (self.Data1, self.Data2, self.Data3, self.Data4[:]) == (other.Data1, other.Data2, other.Data3, other.Data4[:]) +CID = _GUID CLSID = _GUID GUID = _GUID IID = _GUID +IPID = _GUID LPCGUID = POINTER(_GUID) LPCLSID = POINTER(_GUID) LPGUID = POINTER(_GUID) REFCLSID = POINTER(_GUID) REFGUID = POINTER(_GUID) REFIID = POINTER(_GUID) +REFIPID = POINTER(_GUID) class IO_Des_s(Structure): _fields_ = [ ("IOD_Count", DWORD), @@ -839,16 +854,6 @@ class tagCALLFRAME_WALK(EnumType): CALLFRAME_WALK = tagCALLFRAME_WALK -SD_LAUNCHPERMISSIONS = EnumValue("tagCOMSD", "SD_LAUNCHPERMISSIONS", 0x0) -SD_ACCESSPERMISSIONS = EnumValue("tagCOMSD", "SD_ACCESSPERMISSIONS", 0x1) -SD_LAUNCHRESTRICTIONS = EnumValue("tagCOMSD", "SD_LAUNCHRESTRICTIONS", 0x2) -SD_ACCESSRESTRICTIONS = EnumValue("tagCOMSD", "SD_ACCESSRESTRICTIONS", 0x3) -class tagCOMSD(EnumType): - values = [SD_LAUNCHPERMISSIONS, SD_ACCESSPERMISSIONS, SD_LAUNCHRESTRICTIONS, SD_ACCESSRESTRICTIONS] - mapper = FlagMapper(*values) -COMSD = tagCOMSD - - class tagMULTI_QI(Structure): _fields_ = [ ("pIID", POINTER(IID)), @@ -1008,6 +1013,576 @@ VARIANT = __tagVARIANT VARIANTARG = __tagVARIANT _tagVARIANT = __tagVARIANT +SD_LAUNCHPERMISSIONS = EnumValue("tagCOMSD", "SD_LAUNCHPERMISSIONS", 0x0) +SD_ACCESSPERMISSIONS = EnumValue("tagCOMSD", "SD_ACCESSPERMISSIONS", 0x1) +SD_LAUNCHRESTRICTIONS = EnumValue("tagCOMSD", "SD_LAUNCHRESTRICTIONS", 0x2) +SD_ACCESSRESTRICTIONS = EnumValue("tagCOMSD", "SD_ACCESSRESTRICTIONS", 0x3) +class tagCOMSD(EnumType): + values = [SD_LAUNCHPERMISSIONS, SD_ACCESSPERMISSIONS, SD_LAUNCHRESTRICTIONS, SD_ACCESSRESTRICTIONS] + mapper = FlagMapper(*values) +COMSD = tagCOMSD + + +CPFLAG_NONE = EnumValue("tagCPFLAGS", "CPFLAG_NONE", 0x0) +CPFLAG_PROPAGATE = EnumValue("tagCPFLAGS", "CPFLAG_PROPAGATE", 0x1) +CPFLAG_EXPOSE = EnumValue("tagCPFLAGS", "CPFLAG_EXPOSE", 0x2) +CPFLAG_ENVOY = EnumValue("tagCPFLAGS", "CPFLAG_ENVOY", 0x4) +CPFLAG_MONITORSTUB = EnumValue("tagCPFLAGS", "CPFLAG_MONITORSTUB", 0x8) +CPFLAG_MONITORPROXY = EnumValue("tagCPFLAGS", "CPFLAG_MONITORPROXY", 0x10) +CPFLAG_DONTCOMPARE = EnumValue("tagCPFLAGS", "CPFLAG_DONTCOMPARE", 0x20) +class tagCPFLAGS(EnumType): + values = [CPFLAG_NONE, CPFLAG_PROPAGATE, CPFLAG_EXPOSE, CPFLAG_ENVOY, CPFLAG_MONITORSTUB, CPFLAG_MONITORPROXY, CPFLAG_DONTCOMPARE] + mapper = FlagMapper(*values) +CPFLAGS = tagCPFLAGS + + +CLIENT_CONTEXT_STAGE = EnumValue("tagACTIVATION_STAGE", "CLIENT_CONTEXT_STAGE", 0x1) +CLIENT_MACHINE_STAGE = EnumValue("tagACTIVATION_STAGE", "CLIENT_MACHINE_STAGE", 0x2) +SERVER_MACHINE_STAGE = EnumValue("tagACTIVATION_STAGE", "SERVER_MACHINE_STAGE", 0x3) +SERVER_PROCESS_STAGE = EnumValue("tagACTIVATION_STAGE", "SERVER_PROCESS_STAGE", 0x4) +SERVER_CONTEXT_STAGE = EnumValue("tagACTIVATION_STAGE", "SERVER_CONTEXT_STAGE", 0x5) +class tagACTIVATION_STAGE(EnumType): + values = [CLIENT_CONTEXT_STAGE, CLIENT_MACHINE_STAGE, SERVER_MACHINE_STAGE, SERVER_PROCESS_STAGE, SERVER_CONTEXT_STAGE] + mapper = FlagMapper(*values) +ACTIVATION_STAGE = tagACTIVATION_STAGE + + +ApartmentThreaded = EnumValue("tagThreadingModel", "ApartmentThreaded", 0x0) +FreeThreaded = EnumValue("tagThreadingModel", "FreeThreaded", 0x1) +SingleThreaded = EnumValue("tagThreadingModel", "SingleThreaded", 0x2) +BothThreaded = EnumValue("tagThreadingModel", "BothThreaded", 0x3) +NeutralThreaded = EnumValue("tagThreadingModel", "NeutralThreaded", 0x4) +class tagThreadingModel(EnumType): + values = [ApartmentThreaded, FreeThreaded, SingleThreaded, BothThreaded, NeutralThreaded] + mapper = FlagMapper(*values) +ThreadingModel = tagThreadingModel + + +LocalServerType16 = EnumValue("tagLocalServerType", "LocalServerType16", 0x0) +LocalServerType32 = EnumValue("tagLocalServerType", "LocalServerType32", 0x1) +class tagLocalServerType(EnumType): + values = [LocalServerType16, LocalServerType32] + mapper = FlagMapper(*values) +LocalServerType = tagLocalServerType + + +STREAM_SEEK_SET = EnumValue("tagSTREAM_SEEK", "STREAM_SEEK_SET", 0x0) +STREAM_SEEK_CUR = EnumValue("tagSTREAM_SEEK", "STREAM_SEEK_CUR", 0x1) +STREAM_SEEK_END = EnumValue("tagSTREAM_SEEK", "STREAM_SEEK_END", 0x2) +class tagSTREAM_SEEK(EnumType): + values = [STREAM_SEEK_SET, STREAM_SEEK_CUR, STREAM_SEEK_END] + mapper = FlagMapper(*values) +STREAM_SEEK = tagSTREAM_SEEK + + +MSHCTX_LOCAL = EnumValue("tagMSHCTX", "MSHCTX_LOCAL", 0x0) +MSHCTX_NOSHAREDMEM = EnumValue("tagMSHCTX", "MSHCTX_NOSHAREDMEM", 0x1) +MSHCTX_DIFFERENTMACHINE = EnumValue("tagMSHCTX", "MSHCTX_DIFFERENTMACHINE", 0x2) +MSHCTX_INPROC = EnumValue("tagMSHCTX", "MSHCTX_INPROC", 0x3) +MSHCTX_CROSSCTX = EnumValue("tagMSHCTX", "MSHCTX_CROSSCTX", 0x4) +MSHCTX_CONTAINER = EnumValue("tagMSHCTX", "MSHCTX_CONTAINER", 0x5) +class tagMSHCTX(EnumType): + values = [MSHCTX_LOCAL, MSHCTX_NOSHAREDMEM, MSHCTX_DIFFERENTMACHINE, MSHCTX_INPROC, MSHCTX_CROSSCTX, MSHCTX_CONTAINER] + mapper = FlagMapper(*values) +MSHCTX = tagMSHCTX + + +class tagOpaqueData(Structure): + _fields_ = [ + ("guid", GUID), + ("dataLength", ULONG), + ("reserved1", ULONG), + ("reserved2", ULONG), + ("data", POINTER(BYTE)), + ] +OpaqueData = tagOpaqueData + +class tagSTDOBJREF(Structure): + _fields_ = [ + ("flags", ULONG), + ("cPublicRefs", ULONG), + ("oxid", OXID), + ("oid", OID), + ("ipid", IPID), + ] +STDOBJREF = tagSTDOBJREF + +class tagDATAELEMENT(Structure): + _fields_ = [ + ("dataID", GUID), + ("cbSize", ULONG), + ("cbRounded", ULONG), + ("Data", BYTE * (1)), + ] +DATAELEMENT = tagDATAELEMENT +PDATAELEMENT = POINTER(tagDATAELEMENT) + +class tagOBJREFDATA(Structure): + _fields_ = [ + ("nElms", ULONG), + ("ppElmArray", POINTER(PDATAELEMENT)), + ] +OBJREFDATA = tagOBJREFDATA + +class tagDUALSTRINGARRAY(Structure): + _fields_ = [ + ("wNumEntries", USHORT), + ("wSecurityOffset", USHORT), + ("aStringArray", USHORT * (1)), + ] +DUALSTRINGARRAY = tagDUALSTRINGARRAY + +INITIAL_tagDUALSTRINGARRAY = tagDUALSTRINGARRAY + +class tagDUALSTRINGARRAY(INITIAL_tagDUALSTRINGARRAY): + @property + def rawbuffer(self): + array_size = self.wNumEntries + array_type = self.aStringArray._type_ + new_buffer_type = (array_type * array_size) + buffer = new_buffer_type.from_address(ctypes.addressof(self.aStringArray)) + return buffer + + + + @property + def bidings(self): + rawbuffer = self.rawbuffer + rawarray = rawbuffer[:] # Allow to find 0 in USHORT without overlap + rawbytes = bytearray(rawbuffer) # Allow to access to bytes to utf-16-le decode + results = [] + next_start = 0 + + # STRINGBINDING documentation says that it starts with a USHORT wTowerId + # But i don't see it in our response.. (local response ?) + # So ignore it for now + for i in range(100): + current_index = rawarray.index(0, next_start) + new_entry = rawbytes[next_start * 2: current_index * 2] + if not new_entry: + return results + results.append(new_entry.decode("utf-16-le")) # Does not handle full unicode I think but.. + next_start = current_index + 1 + # Should not happen + raise ValueError("Could not parse DUALSTRINGARRAY") + + @property + def security_bidings(self): + rawbuffer = self.rawbuffer + rawarray = rawbuffer[self.wSecurityOffset:] + rawbytes = bytearray(rawbuffer)[self.wSecurityOffset * 2:] + results = [] + next_start = 0 + + for i in range(100): + wAuthnSvc = rawarray[next_start] + if wAuthnSvc == 0: + return results + reserved = rawarray[next_start + 1] + current_index = rawarray.index(0, next_start + 2) + new_entry = rawbytes[(next_start + 2) * 2:current_index * 2] + results.append((wAuthnSvc, reserved, new_entry.decode("utf-16-le"))) # Does not handle full unicode I think but.. + next_start = current_index + 1 + # Should not happen + raise ValueError("Could not parse DUALSTRINGARRAY security bidings") + + + + + +DUALSTRINGARRAY = tagDUALSTRINGARRAY +class _ANON__ANON_TAGOBJREF_SUB_UNION_1_SUB_STRUCTURE_1(Structure): + _fields_ = [ + ("std", STDOBJREF), + ("saResAddr", DUALSTRINGARRAY), + ] + + +class _ANON__ANON_TAGOBJREF_SUB_UNION_1_SUB_STRUCTURE_2(Structure): + _fields_ = [ + ("std", STDOBJREF), + ("clsid", CLSID), + ("saResAddr", DUALSTRINGARRAY), + ] + + +class _ANON__ANON_TAGOBJREF_SUB_UNION_1_SUB_STRUCTURE_3(Structure): + _fields_ = [ + ("clsid", CLSID), + ("cbExtension", ULONG), + ("size", ULONG), + ("pData", POINTER(BYTE)), + ] + + +class _ANON__ANON_TAGOBJREF_SUB_UNION_1_SUB_STRUCTURE_4(Structure): + _fields_ = [ + ("std", STDOBJREF), + ("pORData", POINTER(OBJREFDATA)), + ("saResAddr", DUALSTRINGARRAY), + ] + +class _ANON_TAGOBJREF_SUB_UNION_1(Union): + _anonymous_ = ("u_standard","u_handler","u_custom","u_extended") + _fields_ = [ + ("u_standard", _ANON__ANON_TAGOBJREF_SUB_UNION_1_SUB_STRUCTURE_1), + ("u_handler", _ANON__ANON_TAGOBJREF_SUB_UNION_1_SUB_STRUCTURE_2), + ("u_custom", _ANON__ANON_TAGOBJREF_SUB_UNION_1_SUB_STRUCTURE_3), + ("u_extended", _ANON__ANON_TAGOBJREF_SUB_UNION_1_SUB_STRUCTURE_4), + ] + +class tagOBJREF(Structure): + _anonymous_ = ("u_objref",) + _fields_ = [ + ("signature", ULONG), + ("flags", ULONG), + ("iid", GUID), + ("u_objref", _ANON_TAGOBJREF_SUB_UNION_1), + ] +OBJREF = tagOBJREF + +class tagCOMVERSION(Structure): + _fields_ = [ + ("MajorVersion", USHORT), + ("MinorVersion", USHORT), + ] +COMVERSION = tagCOMVERSION + +class tagORPC_EXTENT(Structure): + _fields_ = [ + ("id", _GUID), + ("size", ULONG), + ("data", BYTE * (1)), + ] +ORPC_EXTENT = tagORPC_EXTENT +PORPC_EXTENT = tagORPC_EXTENT + +class tagORPC_EXTENT_ARRAY(Structure): + _fields_ = [ + ("size", ULONG), + ("reserved", ULONG), + ("extent", POINTER(PORPC_EXTENT)), + ] +ORPC_EXTENT_ARRAY = tagORPC_EXTENT_ARRAY + +class tagORPCTHIS(Structure): + _fields_ = [ + ("version", COMVERSION), + ("flags", ULONG), + ("reserved1", ULONG), + ("cid", GUID), + ("extensions", PVOID), + ] +ORPCTHIS = tagORPCTHIS + +class tagORPCTHIS32(Structure): + _fields_ = [ + ("version", COMVERSION), + ("flags", ULONG), + ("reserved1", ULONG), + ("cid", GUID), + ("extensions", PVOID32), + ] +ORPCTHIS32 = tagORPCTHIS32 + +class tagOXID_INFO(Structure): + _fields_ = [ + ("dwTid", DWORD), + ("dwPid", DWORD), + ("dwAuthnHint", DWORD), + ("version", COMVERSION), + ("ipidRemUnknown", IPID), + ("dwFlags", DWORD), + ("psa", POINTER(DUALSTRINGARRAY)), + ] +OXID_INFO = tagOXID_INFO + +class tagContextProperty(Structure): + _fields_ = [ + ("policyId", GUID), + ("flags", CPFLAGS), + ("pUnk", PVOID), + ] +ContextProperty = tagContextProperty + +class _PRIV_SCM_INFO(Structure): + _fields_ = [ + ("Apartment", LONG), + ("pwszWinstaDesktop", POINTER(WCHAR)), + ("ProcessSignature", ULONG64), + ("pEnvBlock", POINTER(WCHAR)), + ("EnvBlockLength", DWORD), + ] +PRIV_SCM_INFO = _PRIV_SCM_INFO + +class _REMOTE_REQUEST_SCM_INFO(Structure): + _fields_ = [ + ("ClientImpLevel", DWORD), + ("cRequestedProtseqs", USHORT), + ("pRequestedProtseqs", POINTER(USHORT)), + ] +REMOTE_REQUEST_SCM_INFO = _REMOTE_REQUEST_SCM_INFO + +class tagMInterfacePointer(Structure): + _fields_ = [ + ("ulCntData", ULONG), + ("abData", BYTE * (1)), + ] +MInterfacePointer = tagMInterfacePointer +PMInterfacePointer = POINTER(tagMInterfacePointer) + +INITIAL_tagMInterfacePointer = tagMInterfacePointer + +class tagMInterfacePointer(INITIAL_tagMInterfacePointer): + @property + def objref(self): + return OBJREF.from_address(ctypes.addressof(self.abData)) +MInterfacePointer = tagMInterfacePointer +PMInterfacePointer = POINTER(tagMInterfacePointer) +class tagRPCOLEMESSAGE(Structure): + _fields_ = [ + ("reserved1", PVOID), + ("dataRepresentation", RPCOLEDATAREP), + ("Buffer", PVOID), + ("cbBuffer", ULONG), + ("iMethod", ULONG), + ("reserved2", PVOID * (5)), + ("rpcFlags", ULONG), + ] +PRPCOLEMESSAGE = POINTER(tagRPCOLEMESSAGE) +RPCOLEMESSAGE = tagRPCOLEMESSAGE + +class tagREMQIRESULT(Structure): + _fields_ = [ + ("hResult", HRESULT), + ("std", STDOBJREF), + ] +PREMQIRESULT = POINTER(tagREMQIRESULT) +REMQIRESULT = tagREMQIRESULT + +class tagREMINTERFACEREF(Structure): + _fields_ = [ + ("ipid", IPID), + ("cPublicRefs", ULONG), + ("cPrivateRefs", ULONG), + ] +REMINTERFACEREF = tagREMINTERFACEREF + +class _PRIV_RESOLVER_INFO_LEGACY(Structure): + _fields_ = [ + ("OxidServer", OXID), + ("pServerORBindings", POINTER(DUALSTRINGARRAY)), + ("OxidInfo", OXID_INFO), + ("LocalMidOfRemote", MID), + ("DllServerModel", DWORD), + ("pwszDllServer", POINTER(WCHAR)), + ("FoundInROT", BOOL), + ] +PPRIV_RESOLVER_INFO_LEGACY = POINTER(_PRIV_RESOLVER_INFO_LEGACY) +PRIV_RESOLVER_INFO_LEGACY = _PRIV_RESOLVER_INFO_LEGACY + +class _REMOTE_REPLY_SCM_INFO(Structure): + _fields_ = [ + ("Oxid", OXID), + ("pdsaOxidBindings", POINTER(DUALSTRINGARRAY)), + ("ipidRemUnknown", IPID), + ("authnHint", DWORD), + ("serverVersion", COMVERSION), + ] +PREMOTE_REPLY_SCM_INFO = POINTER(_REMOTE_REPLY_SCM_INFO) +REMOTE_REPLY_SCM_INFO = _REMOTE_REPLY_SCM_INFO + +class CONTAINER_EXTENT(Structure): + _fields_ = [ + ("id", UINT), + ("version", UINT), + ("size", UINT), + ("data", BYTE * (1)), + ] + + +class CONTAINER_EXTENT_ARRAY(Structure): + _fields_ = [ + ("size", UINT), + ("reserved", UINT), + ("extent", POINTER(CONTAINER_EXTENT)), + ] + + +class HSTRING__(Structure): + _fields_ = [ + ("unused", INT), + ] + + +class CONTAINERVERSION(Structure): + _fields_ = [ + ("version", UINT), + ("capabilityFlags", UINT64), + ("extensions", POINTER(CONTAINER_EXTENT_ARRAY)), + ] + + +class _MIDL_ILocalObjectExporter_0007(Structure): + _fields_ = [ + ("dwTid", ULONG), + ("dwPid", ULONG), + ("dwAuthnHint", ULONG), + ("dcomVersion", tagCOMVERSION), + ("containerVersion", CONTAINERVERSION), + ("ipidRemUnknown", _GUID), + ("dwFlags", ULONG), + ("psa", POINTER(tagDUALSTRINGARRAY)), + ("guidProcessIdentifier", _GUID), + ("processHostId", UINT64), + ("clientDependencyBehavior", INT), + ("packageFullName", POINTER(HSTRING__)), + ("userSid", POINTER(HSTRING__)), + ("appcontainerSid", POINTER(HSTRING__)), + ("primaryOxid", UINT64), + ("primaryIpidRemUnknown", _GUID), + ] +MIDL_ILocalObjectExporter_0007 = _MIDL_ILocalObjectExporter_0007 + +class _PRIV_RESOLVER_INFO(Structure): + _fields_ = [ + ("OxidServer", UINT64), + ("pServerORBindings", POINTER(tagDUALSTRINGARRAY)), + ("OxidInfo", MIDL_ILocalObjectExporter_0007), + ("LocalMidOfRemote", UINT64), + ("FoundInROT", INT), + ] +PPRIV_RESOLVER_INFO = POINTER(_PRIV_RESOLVER_INFO) +PRIV_RESOLVER_INFO = _PRIV_RESOLVER_INFO + +class _MIDL_XmitDefs_0001(Structure): + _fields_ = [ + ("asyncOperationId", GUID), + ("oxidClientProcessNA", ULONG64), + ("originalClientLogicalThreadId", GUID), + ("uClientCausalityTraceId", ULONG64), + ] +MIDL_XmitDefs_0001 = _MIDL_XmitDefs_0001 + +class _LOCALTHIS(Structure): + _fields_ = [ + ("dwFlags", DWORD), + ("dwClientThread", DWORD), + ("passthroughTraceActivity", GUID), + ("callTraceActivity", GUID), + ("asyncRequestBlock", MIDL_XmitDefs_0001), + ("reserved", DWORD), + ("pTouchedAstaArray", PVOID), + ] +LOCALTHIS = _LOCALTHIS + +class _LOCALTHIS32(Structure): + _fields_ = [ + ("dwFlags", DWORD), + ("dwClientThread", DWORD), + ("passthroughTraceActivity", GUID), + ("callTraceActivity", GUID), + ("asyncRequestBlock", MIDL_XmitDefs_0001), + ("reserved", DWORD), + ("pTouchedAstaArray", PVOID32), + ] +LOCALTHIS32 = _LOCALTHIS32 + +class _MIDL_XmitDefs_0007(Structure): + _fields_ = [ + ("pointOfFailure", INT), + ("hrFailure", HRESULT), + ("sizeOfMarshaledErrorInfo", ULONG), + ("reserved", ULONG), + ("pMarshaledErrorInfo", POINTER(BYTE)), + ] + + +class _MIDL_XmitDefs_0005(Structure): + _fields_ = [ + ("sizeOfMarshaledResults", ULONG), + ("reserved", ULONG), + ("pMarshaledResults", POINTER(BYTE)), + ] + + +class _MIDL_XmitDefs_0008(Structure): + _fields_ = [ + ("outcome", INT), + ("successDetails", _MIDL_XmitDefs_0005), + ("failureDetails", _MIDL_XmitDefs_0007), + ] + + +class _MIDL_XmitDefs_0010(Structure): + _fields_ = [ + ("asyncStatus", ULONG), + ("reserved1", ULONG), + ("uServerCausalityTraceId", UINT64), + ("completionTraceActivity", _GUID), + ("reserved2", ULONG), + ("pOutcomeDetails", POINTER(_MIDL_XmitDefs_0008)), + ] + + +class CONTAINERTHAT(Structure): + _fields_ = [ + ("responseFlags", UINT64), + ("unassignedPassthroughGuid_1", _GUID), + ("unassignedPassthroughGuid_2", _GUID), + ("unassignedPassthroughGuid_3", _GUID), + ("unassignedPassthroughGuid_4", _GUID), + ("reservedGuid_1", _GUID), + ("reservedGuid_2", _GUID), + ("reservedGuid_3", _GUID), + ("reservedGuid_4", _GUID), + ("unassignedPassthroughUint64_1", UINT64), + ("unassignedPassthroughUint64_2", UINT64), + ("unassignedPassthroughUint64_3", UINT64), + ("unassignedPassthroughUint64_4", UINT64), + ("marshalingSetId", UINT64), + ("reservedUint64_2", UINT64), + ("reservedUint64_3", UINT64), + ("reservedUint64_4", UINT64), + ("reservedUint32", UINT), + ("extensions", POINTER(CONTAINER_EXTENT_ARRAY)), + ] + + +class _LOCALTHAT(Structure): + _fields_ = [ + ("marshalingSetId", UINT64), + ("reserved", ULONG), + ("pAsyncResponseBlock", POINTER(_MIDL_XmitDefs_0010)), + ("containerErrorInformation", POINTER(CONTAINER_EXTENT)), + ("containerPassthroughData", POINTER(CONTAINERTHAT)), + ] +LOCALTHAT = _LOCALTHAT + +class _LOCALTHAT32(Structure): + _fields_ = [ + ("marshalingSetId", UINT64), + ("reserved", ULONG), + ("pAsyncResponseBlock", PVOID32), + ("containerErrorInformation", PVOID32), + ("containerPassthroughData", PVOID32), + ] +LOCALTHAT32 = _LOCALTHAT32 + +class tagORPCTHAT(Structure): + _fields_ = [ + ("flags", ULONG), + ("extensions", POINTER(tagORPC_EXTENT_ARRAY)), + ] +ORPCTHAT = tagORPCTHAT + +class ORPCTHAT32(Structure): + _fields_ = [ + ("flags", ULONG), + ("extensions", PVOID32), + ] + + VIRTUAL_DISK_ACCESS_NONE = EnumValue("_VIRTUAL_DISK_ACCESS_MASK", "VIRTUAL_DISK_ACCESS_NONE", 0x0) VIRTUAL_DISK_ACCESS_ATTACH_RO = EnumValue("_VIRTUAL_DISK_ACCESS_MASK", "VIRTUAL_DISK_ACCESS_ATTACH_RO", 0x1) VIRTUAL_DISK_ACCESS_ATTACH_RW = EnumValue("_VIRTUAL_DISK_ACCESS_MASK", "VIRTUAL_DISK_ACCESS_ATTACH_RW", 0x2) @@ -1445,6 +2020,24 @@ class _PROCESS_MITIGATION_IMAGE_LOAD_POLICY(Structure): PPROCESS_MITIGATION_IMAGE_LOAD_POLICY = POINTER(_PROCESS_MITIGATION_IMAGE_LOAD_POLICY) PROCESS_MITIGATION_IMAGE_LOAD_POLICY = _PROCESS_MITIGATION_IMAGE_LOAD_POLICY +class _ANON_TAGTESTSTRUCTV1_SUB_UNION_1(Union): + _fields_ = [ + ("Byte", BYTE), + ("Short", USHORT), + ("Dword", DWORD), + ("Qword", ULONG64), + ] + +class TagTestStructV1(Structure): + _anonymous_ = ("anon_01",) + _fields_ = [ + ("Type", DWORD), + ("Name", LPCH), + ("anon_01", _ANON_TAGTESTSTRUCTV1_SUB_UNION_1), + ] +PTestStructV1 = POINTER(TagTestStructV1) +TestStructV1 = TagTestStructV1 + class _ANON__MIB_IPNETROW_LH_SUB_UNION_1(Union): _fields_ = [ ("dwType", DWORD), @@ -3336,7 +3929,7 @@ class _IMAGEHLP_MODULEW64(Structure): ("LoadedImageName", WCHAR * (256)), ("LoadedPdbName", WCHAR * (256)), ("CVSig", DWORD), - ("CVData", POINTER(WCHAR) * (MAX_PATH * 3)), + ("CVData", WCHAR * (MAX_PATH * 3)), ("PdbSig", DWORD), ("PdbSig70", GUID), ("PdbAge", DWORD), @@ -6109,16 +6702,16 @@ class _OBJECT_ATTRIBUTES(_OBJECT_ATTRIBUTES): return """<{0} ObjectName="{1}">""".format(type(self).__name__, self.ObjectName.contents.str) OBJECT_ATTRIBUTES = _OBJECT_ATTRIBUTES POBJECT_ATTRIBUTES = POINTER(_OBJECT_ATTRIBUTES) -class _TMP_UNION_IO_STATUS_BLOCK(Union): +class _ANON__IO_STATUS_BLOCK_SUB_UNION_1(Union): _fields_ = [ ("Status", NTSTATUS), ("Pointer", PVOID), ] -TMP_UNION_IO_STATUS_BLOCK = _TMP_UNION_IO_STATUS_BLOCK class _IO_STATUS_BLOCK(Structure): + _anonymous_ = ("anon_01",) _fields_ = [ - ("DUMMYUNIONNAME", TMP_UNION_IO_STATUS_BLOCK), + ("anon_01", _ANON__IO_STATUS_BLOCK_SUB_UNION_1), ("Information", ULONG_PTR), ] IO_STATUS_BLOCK = _IO_STATUS_BLOCK @@ -6918,44 +7511,6 @@ class _REMOTE_PORT_VIEW(Structure): PREMOTE_PORT_VIEW = POINTER(_REMOTE_PORT_VIEW) REMOTE_PORT_VIEW = _REMOTE_PORT_VIEW -class tagCOMVERSION(Structure): - _fields_ = [ - ("MajorVersion", USHORT), - ("MinorVersion", USHORT), - ] -COMVERSION = tagCOMVERSION - -class tagORPCTHIS(Structure): - _fields_ = [ - ("version", COMVERSION), - ("flags", ULONG), - ("reserved1", ULONG), - ("cid", GUID), - ("extensions", PVOID), - ] -ORPCTHIS = tagORPCTHIS - -class __MIDL_XmitDefs_0001(Structure): - _fields_ = [ - ("asyncOperationId", GUID), - ("oxidClientProcessNA", ULONG64), - ("originalClientLogicalThreadId", GUID), - ("uClientCausalityTraceId", ULONG64), - ] -MIDL_XmitDefs_0001 = __MIDL_XmitDefs_0001 - -class _LOCALTHIS(Structure): - _fields_ = [ - ("dwFlags", DWORD), - ("dwClientThread", DWORD), - ("passthroughTraceActivity", GUID), - ("callTraceActivity", GUID), - ("asyncRequestBlock", MIDL_XmitDefs_0001), - ("reserved", DWORD), - ("pTouchedAstaArray", PVOID), - ] -LOCALTHIS = _LOCALTHIS - ECS_ENABLED = EnumValue("_EXPCMDSTATE", "ECS_ENABLED", 0x0) ECS_DISABLED = EnumValue("_EXPCMDSTATE", "ECS_DISABLED", 0x1) ECS_HIDDEN = EnumValue("_EXPCMDSTATE", "ECS_HIDDEN", 0x2) diff --git a/windows/winproxy/apis/dbghelp.py b/windows/winproxy/apis/dbghelp.py index 09fa558..77d556e 100644 --- a/windows/winproxy/apis/dbghelp.py +++ b/windows/winproxy/apis/dbghelp.py @@ -133,6 +133,10 @@ def SymEnumTypes(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext=None): UserContext = transform_pyobject_to_pvoid(UserContext) return SymEnumTypes.ctypes_function(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext) +@DbgHelpProxy() +def SymEnumTypesW(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext=None): + return SymEnumTypesW.ctypes_function(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext) + @DbgHelpProxy() def SymEnumTypesByName(hProcess, BaseOfDll, mask, EnumSymbolsCallback, UserContext=None): UserContext = transform_pyobject_to_pvoid(UserContext) diff --git a/windows/winproxy/apis/ole32.py b/windows/winproxy/apis/ole32.py index 2d490cb..96c70e7 100644 --- a/windows/winproxy/apis/ole32.py +++ b/windows/winproxy/apis/ole32.py @@ -46,4 +46,20 @@ def CLSIDFromProgID(lpszProgID, lpclsid): @Ole32Proxy() def CoTaskMemFree(pv): - return CoTaskMemFree.ctypes_function(pv) \ No newline at end of file + return CoTaskMemFree.ctypes_function(pv) + +@Ole32Proxy() +def CreateStreamOnHGlobal(hGlobal=None, fDeleteOnRelease=True, ppstm=NeededParameter): + return CreateStreamOnHGlobal.ctypes_function(hGlobal, fDeleteOnRelease, ppstm) + +@Ole32Proxy() +def GetHGlobalFromStream(pstm, phglobal): + return GetHGlobalFromStream.ctypes_function(pstm, phglobal) + +@Ole32Proxy() +def CoMarshalInterface(pStm, riid, pUnk, dwDestContext, pvDestContext, mshlflags): + return CoMarshalInterface.ctypes_function(pStm, riid, pUnk, dwDestContext, pvDestContext, mshlflags) + +@Ole32Proxy() +def CoUnmarshalInterface(pStm, riid, ppv): + return CoUnmarshalInterface.ctypes_function(pStm, riid, ppv) \ No newline at end of file