Cleaning/working on windows.com API

This commit is contained in:
Clement Rouault
2016-03-24 15:23:15 +01:00
parent 641790f917
commit d794ac8ceb
16 changed files with 7407 additions and 24 deletions
@@ -0,0 +1,42 @@
typedef struct IEnumWbemClassObjectVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IEnumWbemClassObject * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IEnumWbemClassObject * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IEnumWbemClassObject * This);
HRESULT ( STDMETHODCALLTYPE *Reset )(
__RPC__in IEnumWbemClassObject * This);
HRESULT ( STDMETHODCALLTYPE *Next )(
__RPC__in IEnumWbemClassObject * This,
/* [in] */ long lTimeout,
/* [in] */ ULONG uCount,
/* [length_is][size_is][out] */ __RPC__out_ecount_part(uCount, *puReturned) IWbemClassObject **apObjects,
/* [out] */ __RPC__out ULONG *puReturned);
HRESULT ( STDMETHODCALLTYPE *NextAsync )(
__RPC__in IEnumWbemClassObject * This,
/* [in] */ ULONG uCount,
/* [in] */ __RPC__in_opt IWbemObjectSink *pSink);
HRESULT ( STDMETHODCALLTYPE *Clone )(
__RPC__in IEnumWbemClassObject * This,
/* [out] */ __RPC__deref_out_opt IEnumWbemClassObject **ppEnum);
HRESULT ( STDMETHODCALLTYPE *Skip )(
__RPC__in IEnumWbemClassObject * This,
/* [in] */ long lTimeout,
/* [in] */ ULONG nCount);
END_INTERFACE
} IEnumWbemClassObjectVtbl;
+153
View File
@@ -0,0 +1,153 @@
typedef struct INetFwPolicy2Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
INetFwPolicy2 * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
INetFwPolicy2 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
INetFwPolicy2 * This);
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
INetFwPolicy2 * This,
/* [out] */ UINT *pctinfo);
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
INetFwPolicy2 * This,
/* [in] */ UINT iTInfo,
/* [in] */ LCID lcid,
/* [out] */ ITypeInfo **ppTInfo);
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
INetFwPolicy2 * This,
/* [in] */ REFIID riid,
/* [size_is][in] */ LPOLESTR *rgszNames,
/* [range][in] */ UINT cNames,
/* [in] */ LCID lcid,
/* [size_is][out] */ DISPID *rgDispId);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
INetFwPolicy2 * This,
/* [in] */ DISPID dispIdMember,
/* [in] */ REFIID riid,
/* [in] */ LCID lcid,
/* [in] */ WORD wFlags,
/* [out][in] */ DISPPARAMS *pDispParams,
/* [out] */ VARIANT *pVarResult,
/* [out] */ EXCEPINFO *pExcepInfo,
/* [out] */ UINT *puArgErr);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentProfileTypes )(
INetFwPolicy2 * This,
/* [retval][out] */ long *profileTypesBitmask);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FirewallEnabled )(
INetFwPolicy2 * This,
/* [in] */ NET_FW_PROFILE_TYPE2 profileType,
/* [retval][out] */ VARIANT_BOOL *enabled);
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FirewallEnabled )(
INetFwPolicy2 * This,
/* [in] */ NET_FW_PROFILE_TYPE2 profileType,
/* [in] */ VARIANT_BOOL enabled);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ExcludedInterfaces )(
INetFwPolicy2 * This,
/* [in] */ NET_FW_PROFILE_TYPE2 profileType,
/* [retval][out] */ VARIANT *interfaces);
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ExcludedInterfaces )(
INetFwPolicy2 * This,
/* [in] */ NET_FW_PROFILE_TYPE2 profileType,
/* [in] */ VARIANT interfaces);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BlockAllInboundTraffic )(
INetFwPolicy2 * This,
/* [in] */ NET_FW_PROFILE_TYPE2 profileType,
/* [retval][out] */ VARIANT_BOOL *Block);
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BlockAllInboundTraffic )(
INetFwPolicy2 * This,
/* [in] */ NET_FW_PROFILE_TYPE2 profileType,
/* [in] */ VARIANT_BOOL Block);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_NotificationsDisabled )(
INetFwPolicy2 * This,
/* [in] */ NET_FW_PROFILE_TYPE2 profileType,
/* [retval][out] */ VARIANT_BOOL *disabled);
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_NotificationsDisabled )(
INetFwPolicy2 * This,
/* [in] */ NET_FW_PROFILE_TYPE2 profileType,
/* [in] */ VARIANT_BOOL disabled);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UnicastResponsesToMulticastBroadcastDisabled )(
INetFwPolicy2 * This,
/* [in] */ NET_FW_PROFILE_TYPE2 profileType,
/* [retval][out] */ VARIANT_BOOL *disabled);
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_UnicastResponsesToMulticastBroadcastDisabled )(
INetFwPolicy2 * This,
/* [in] */ NET_FW_PROFILE_TYPE2 profileType,
/* [in] */ VARIANT_BOOL disabled);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Rules )(
INetFwPolicy2 * This,
/* [retval][out] */ INetFwRules **rules);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ServiceRestriction )(
INetFwPolicy2 * This,
/* [retval][out] */ INetFwServiceRestriction **ServiceRestriction);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *EnableRuleGroup )(
INetFwPolicy2 * This,
/* [in] */ long profileTypesBitmask,
/* [in] */ BSTR group,
/* [in] */ VARIANT_BOOL enable);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *IsRuleGroupEnabled )(
INetFwPolicy2 * This,
/* [in] */ long profileTypesBitmask,
/* [in] */ BSTR group,
/* [retval][out] */ VARIANT_BOOL *enabled);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *RestoreLocalFirewallDefaults )(
INetFwPolicy2 * This);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultInboundAction )(
INetFwPolicy2 * This,
/* [in] */ NET_FW_PROFILE_TYPE2 profileType,
/* [retval][out] */ NET_FW_ACTION *action);
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultInboundAction )(
INetFwPolicy2 * This,
/* [in] */ NET_FW_PROFILE_TYPE2 profileType,
/* [in] */ NET_FW_ACTION action);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultOutboundAction )(
INetFwPolicy2 * This,
/* [in] */ NET_FW_PROFILE_TYPE2 profileType,
/* [retval][out] */ NET_FW_ACTION *action);
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultOutboundAction )(
INetFwPolicy2 * This,
/* [in] */ NET_FW_PROFILE_TYPE2 profileType,
/* [in] */ NET_FW_ACTION action);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsRuleGroupCurrentlyEnabled )(
INetFwPolicy2 * This,
/* [in] */ BSTR group,
/* [retval][out] */ VARIANT_BOOL *enabled);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LocalPolicyModifyState )(
INetFwPolicy2 * This,
/* [retval][out] */ NET_FW_MODIFY_STATE *modifyState);
END_INTERFACE
} INetFwPolicy2Vtbl;
+191
View File
@@ -0,0 +1,191 @@
typedef struct INetFwRuleVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
INetFwRule * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
INetFwRule * This);
ULONG ( STDMETHODCALLTYPE *Release )(
INetFwRule * This);
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
INetFwRule * This,
/* [out] */ UINT *pctinfo);
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
INetFwRule * This,
/* [in] */ UINT iTInfo,
/* [in] */ LCID lcid,
/* [out] */ ITypeInfo **ppTInfo);
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
INetFwRule * This,
/* [in] */ REFIID riid,
/* [size_is][in] */ LPOLESTR *rgszNames,
/* [range][in] */ UINT cNames,
/* [in] */ LCID lcid,
/* [size_is][out] */ DISPID *rgDispId);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
INetFwRule * This,
/* [in] */ DISPID dispIdMember,
/* [in] */ REFIID riid,
/* [in] */ LCID lcid,
/* [in] */ WORD wFlags,
/* [out][in] */ DISPPARAMS *pDispParams,
/* [out] */ VARIANT *pVarResult,
/* [out] */ EXCEPINFO *pExcepInfo,
/* [out] */ UINT *puArgErr);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )(
INetFwRule * This,
/* [retval][out] */ BSTR *name);
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Name )(
INetFwRule * This,
/* [in] */ BSTR name);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )(
INetFwRule * This,
/* [retval][out] */ BSTR *desc);
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Description )(
INetFwRule * This,
/* [in] */ BSTR desc);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ApplicationName )(
INetFwRule * This,
/* [retval][out] */ BSTR *imageFileName);
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ApplicationName )(
INetFwRule * This,
/* [in] */ BSTR imageFileName);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ServiceName )(
INetFwRule * This,
/* [retval][out] */ BSTR *serviceName);
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ServiceName )(
INetFwRule * This,
/* [in] */ BSTR serviceName);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Protocol )(
INetFwRule * This,
/* [retval][out] */ LONG *protocol);
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Protocol )(
INetFwRule * This,
/* [in] */ LONG protocol);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LocalPorts )(
INetFwRule * This,
/* [retval][out] */ BSTR *portNumbers);
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LocalPorts )(
INetFwRule * This,
/* [in] */ BSTR portNumbers);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RemotePorts )(
INetFwRule * This,
/* [retval][out] */ BSTR *portNumbers);
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RemotePorts )(
INetFwRule * This,
/* [in] */ BSTR portNumbers);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LocalAddresses )(
INetFwRule * This,
/* [retval][out] */ BSTR *localAddrs);
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_LocalAddresses )(
INetFwRule * This,
/* [in] */ BSTR localAddrs);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RemoteAddresses )(
INetFwRule * This,
/* [retval][out] */ BSTR *remoteAddrs);
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RemoteAddresses )(
INetFwRule * This,
/* [in] */ BSTR remoteAddrs);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IcmpTypesAndCodes )(
INetFwRule * This,
/* [retval][out] */ BSTR *icmpTypesAndCodes);
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_IcmpTypesAndCodes )(
INetFwRule * This,
/* [in] */ BSTR icmpTypesAndCodes);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Direction )(
INetFwRule * This,
/* [retval][out] */ NET_FW_RULE_DIRECTION *dir);
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Direction )(
INetFwRule * This,
/* [in] */ NET_FW_RULE_DIRECTION dir);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Interfaces )(
INetFwRule * This,
/* [retval][out] */ VARIANT *interfaces);
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Interfaces )(
INetFwRule * This,
/* [in] */ VARIANT interfaces);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_InterfaceTypes )(
INetFwRule * This,
/* [retval][out] */ BSTR *interfaceTypes);
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_InterfaceTypes )(
INetFwRule * This,
/* [in] */ BSTR interfaceTypes);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )(
INetFwRule * This,
/* [retval][out] */ VARIANT_BOOL *enabled);
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )(
INetFwRule * This,
/* [in] */ VARIANT_BOOL enabled);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Grouping )(
INetFwRule * This,
/* [retval][out] */ BSTR *context);
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Grouping )(
INetFwRule * This,
/* [in] */ BSTR context);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Profiles )(
INetFwRule * This,
/* [retval][out] */ long *profileTypesBitmask);
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Profiles )(
INetFwRule * This,
/* [in] */ long profileTypesBitmask);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_EdgeTraversal )(
INetFwRule * This,
/* [retval][out] */ VARIANT_BOOL *enabled);
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_EdgeTraversal )(
INetFwRule * This,
/* [in] */ VARIANT_BOOL enabled);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Action )(
INetFwRule * This,
/* [retval][out] */ NET_FW_ACTION *action);
/* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Action )(
INetFwRule * This,
/* [in] */ NET_FW_ACTION action);
END_INTERFACE
} INetFwRuleVtbl;
+68
View File
@@ -0,0 +1,68 @@
typedef struct INetFwRulesVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
INetFwRules * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
INetFwRules * This);
ULONG ( STDMETHODCALLTYPE *Release )(
INetFwRules * This);
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
INetFwRules * This,
/* [out] */ UINT *pctinfo);
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
INetFwRules * This,
/* [in] */ UINT iTInfo,
/* [in] */ LCID lcid,
/* [out] */ ITypeInfo **ppTInfo);
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
INetFwRules * This,
/* [in] */ REFIID riid,
/* [size_is][in] */ LPOLESTR *rgszNames,
/* [range][in] */ UINT cNames,
/* [in] */ LCID lcid,
/* [size_is][out] */ DISPID *rgDispId);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
INetFwRules * This,
/* [in] */ DISPID dispIdMember,
/* [in] */ REFIID riid,
/* [in] */ LCID lcid,
/* [in] */ WORD wFlags,
/* [out][in] */ DISPPARAMS *pDispParams,
/* [out] */ VARIANT *pVarResult,
/* [out] */ EXCEPINFO *pExcepInfo,
/* [out] */ UINT *puArgErr);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
INetFwRules * This,
/* [retval][out] */ long *count);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *Add )(
INetFwRules * This,
/* [in] */ INetFwRule *rule);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *Remove )(
INetFwRules * This,
/* [in] */ BSTR name);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *Item )(
INetFwRules * This,
/* [in] */ BSTR name,
/* [retval][out] */ INetFwRule **rule);
/* [restricted][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )(
INetFwRules * This,
/* [retval][out] */ IUnknown **newEnum);
END_INTERFACE
} INetFwRulesVtbl;
@@ -0,0 +1,64 @@
typedef struct INetFwServiceRestrictionVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
INetFwServiceRestriction * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
INetFwServiceRestriction * This);
ULONG ( STDMETHODCALLTYPE *Release )(
INetFwServiceRestriction * This);
HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )(
INetFwServiceRestriction * This,
/* [out] */ UINT *pctinfo);
HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )(
INetFwServiceRestriction * This,
/* [in] */ UINT iTInfo,
/* [in] */ LCID lcid,
/* [out] */ ITypeInfo **ppTInfo);
HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )(
INetFwServiceRestriction * This,
/* [in] */ REFIID riid,
/* [size_is][in] */ LPOLESTR *rgszNames,
/* [range][in] */ UINT cNames,
/* [in] */ LCID lcid,
/* [size_is][out] */ DISPID *rgDispId);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )(
INetFwServiceRestriction * This,
/* [in] */ DISPID dispIdMember,
/* [in] */ REFIID riid,
/* [in] */ LCID lcid,
/* [in] */ WORD wFlags,
/* [out][in] */ DISPPARAMS *pDispParams,
/* [out] */ VARIANT *pVarResult,
/* [out] */ EXCEPINFO *pExcepInfo,
/* [out] */ UINT *puArgErr);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *RestrictService )(
INetFwServiceRestriction * This,
/* [in] */ BSTR serviceName,
/* [in] */ BSTR appName,
/* [in] */ VARIANT_BOOL restrictService,
/* [in] */ VARIANT_BOOL serviceSidRestricted);
/* [id] */ HRESULT ( STDMETHODCALLTYPE *ServiceRestricted )(
INetFwServiceRestriction * This,
/* [in] */ BSTR serviceName,
/* [in] */ BSTR appName,
/* [retval][out] */ VARIANT_BOOL *serviceRestricted);
/* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Rules )(
INetFwServiceRestriction * This,
/* [retval][out] */ INetFwRules **rules);
END_INTERFACE
} INetFwServiceRestrictionVtbl;
+18
View File
@@ -0,0 +1,18 @@
typedef struct IUnknownVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IUnknown * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IUnknown * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IUnknown * This);
END_INTERFACE
} IUnknownVtbl;
@@ -0,0 +1,38 @@
typedef struct IWbemCallResultVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IWbemCallResult * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IWbemCallResult * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IWbemCallResult * This);
HRESULT ( STDMETHODCALLTYPE *GetResultObject )(
__RPC__in IWbemCallResult * This,
/* [in] */ long lTimeout,
/* [out] */ __RPC__deref_out_opt IWbemClassObject **ppResultObject);
HRESULT ( STDMETHODCALLTYPE *GetResultString )(
__RPC__in IWbemCallResult * This,
/* [in] */ long lTimeout,
/* [out] */ __RPC__deref_out_opt BSTR *pstrResultString);
HRESULT ( STDMETHODCALLTYPE *GetResultServices )(
__RPC__in IWbemCallResult * This,
/* [in] */ long lTimeout,
/* [out] */ __RPC__deref_out_opt IWbemServices **ppServices);
HRESULT ( STDMETHODCALLTYPE *GetCallStatus )(
__RPC__in IWbemCallResult * This,
/* [in] */ long lTimeout,
/* [out] */ __RPC__out long *plStatus);
END_INTERFACE
} IWbemCallResultVtbl;
@@ -0,0 +1,143 @@
typedef struct IWbemClassObjectVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IWbemClassObject * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IWbemClassObject * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IWbemClassObject * This);
HRESULT ( STDMETHODCALLTYPE *GetQualifierSet )(
IWbemClassObject * This,
/* [out] */ IWbemQualifierSet **ppQualSet);
HRESULT ( STDMETHODCALLTYPE *Get )(
IWbemClassObject * This,
/* [string][in] */ LPCWSTR wszName,
/* [in] */ long lFlags,
/* [unique][in][out] */ VARIANT *pVal,
/* [unique][in][out] */ CIMTYPE *pType,
/* [unique][in][out] */ long *plFlavor);
HRESULT ( STDMETHODCALLTYPE *Put )(
IWbemClassObject * This,
/* [string][in] */ LPCWSTR wszName,
/* [in] */ long lFlags,
/* [in] */ VARIANT *pVal,
/* [in] */ CIMTYPE Type);
HRESULT ( STDMETHODCALLTYPE *Delete )(
IWbemClassObject * This,
/* [string][in] */ LPCWSTR wszName);
HRESULT ( STDMETHODCALLTYPE *GetNames )(
IWbemClassObject * This,
/* [string][in] */ LPCWSTR wszQualifierName,
/* [in] */ long lFlags,
/* [in] */ VARIANT *pQualifierVal,
/* [out] */ SAFEARRAY * *pNames);
HRESULT ( STDMETHODCALLTYPE *BeginEnumeration )(
IWbemClassObject * This,
/* [in] */ long lEnumFlags);
HRESULT ( STDMETHODCALLTYPE *Next )(
IWbemClassObject * This,
/* [in] */ long lFlags,
/* [unique][in][out] */ BSTR *strName,
/* [unique][in][out] */ VARIANT *pVal,
/* [unique][in][out] */ CIMTYPE *pType,
/* [unique][in][out] */ long *plFlavor);
HRESULT ( STDMETHODCALLTYPE *EndEnumeration )(
IWbemClassObject * This);
HRESULT ( STDMETHODCALLTYPE *GetPropertyQualifierSet )(
IWbemClassObject * This,
/* [string][in] */ LPCWSTR wszProperty,
/* [out] */ IWbemQualifierSet **ppQualSet);
HRESULT ( STDMETHODCALLTYPE *Clone )(
IWbemClassObject * This,
/* [out] */ IWbemClassObject **ppCopy);
HRESULT ( STDMETHODCALLTYPE *GetObjectText )(
IWbemClassObject * This,
/* [in] */ long lFlags,
/* [out] */ BSTR *pstrObjectText);
HRESULT ( STDMETHODCALLTYPE *SpawnDerivedClass )(
IWbemClassObject * This,
/* [in] */ long lFlags,
/* [out] */ IWbemClassObject **ppNewClass);
HRESULT ( STDMETHODCALLTYPE *SpawnInstance )(
IWbemClassObject * This,
/* [in] */ long lFlags,
/* [out] */ IWbemClassObject **ppNewInstance);
HRESULT ( STDMETHODCALLTYPE *CompareTo )(
IWbemClassObject * This,
/* [in] */ long lFlags,
/* [in] */ IWbemClassObject *pCompareTo);
HRESULT ( STDMETHODCALLTYPE *GetPropertyOrigin )(
IWbemClassObject * This,
/* [string][in] */ LPCWSTR wszName,
/* [out] */ BSTR *pstrClassName);
HRESULT ( STDMETHODCALLTYPE *InheritsFrom )(
IWbemClassObject * This,
/* [in] */ LPCWSTR strAncestor);
HRESULT ( STDMETHODCALLTYPE *GetMethod )(
IWbemClassObject * This,
/* [string][in] */ LPCWSTR wszName,
/* [in] */ long lFlags,
/* [out] */ IWbemClassObject **ppInSignature,
/* [out] */ IWbemClassObject **ppOutSignature);
HRESULT ( STDMETHODCALLTYPE *PutMethod )(
IWbemClassObject * This,
/* [string][in] */ LPCWSTR wszName,
/* [in] */ long lFlags,
/* [in] */ IWbemClassObject *pInSignature,
/* [in] */ IWbemClassObject *pOutSignature);
HRESULT ( STDMETHODCALLTYPE *DeleteMethod )(
IWbemClassObject * This,
/* [string][in] */ LPCWSTR wszName);
HRESULT ( STDMETHODCALLTYPE *BeginMethodEnumeration )(
IWbemClassObject * This,
/* [in] */ long lEnumFlags);
HRESULT ( STDMETHODCALLTYPE *NextMethod )(
IWbemClassObject * This,
/* [in] */ long lFlags,
/* [unique][in][out] */ BSTR *pstrName,
/* [unique][in][out] */ IWbemClassObject **ppInSignature,
/* [unique][in][out] */ IWbemClassObject **ppOutSignature);
HRESULT ( STDMETHODCALLTYPE *EndMethodEnumeration )(
IWbemClassObject * This);
HRESULT ( STDMETHODCALLTYPE *GetMethodQualifierSet )(
IWbemClassObject * This,
/* [string][in] */ LPCWSTR wszMethod,
/* [out] */ IWbemQualifierSet **ppQualSet);
HRESULT ( STDMETHODCALLTYPE *GetMethodOrigin )(
IWbemClassObject * This,
/* [string][in] */ LPCWSTR wszMethodName,
/* [out] */ BSTR *pstrClassName);
END_INTERFACE
} IWbemClassObjectVtbl;
@@ -0,0 +1,60 @@
typedef struct IWbemContextVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IWbemContext * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IWbemContext * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IWbemContext * This);
HRESULT ( STDMETHODCALLTYPE *Clone )(
IWbemContext * This,
/* [out] */ IWbemContext **ppNewCopy);
HRESULT ( STDMETHODCALLTYPE *GetNames )(
IWbemContext * This,
/* [in] */ long lFlags,
/* [out] */ SAFEARRAY * *pNames);
HRESULT ( STDMETHODCALLTYPE *BeginEnumeration )(
IWbemContext * This,
/* [in] */ long lFlags);
HRESULT ( STDMETHODCALLTYPE *Next )(
IWbemContext * This,
/* [in] */ long lFlags,
/* [out] */ BSTR *pstrName,
/* [out] */ VARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *EndEnumeration )(
IWbemContext * This);
HRESULT ( STDMETHODCALLTYPE *SetValue )(
IWbemContext * This,
/* [string][in] */ LPCWSTR wszName,
/* [in] */ long lFlags,
/* [in] */ VARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *GetValue )(
IWbemContext * This,
/* [string][in] */ LPCWSTR wszName,
/* [in] */ long lFlags,
/* [out] */ VARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *DeleteValue )(
IWbemContext * This,
/* [string][in] */ LPCWSTR wszName,
/* [in] */ long lFlags);
HRESULT ( STDMETHODCALLTYPE *DeleteAll )(
IWbemContext * This);
END_INTERFACE
} IWbemContextVtbl;
@@ -0,0 +1,29 @@
typedef struct IWbemLocatorVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IWbemLocator * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IWbemLocator * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IWbemLocator * This);
HRESULT ( STDMETHODCALLTYPE *ConnectServer )(
IWbemLocator * This,
/* [in] */ const BSTR strNetworkResource,
/* [in] */ const BSTR strUser,
/* [in] */ const BSTR strPassword,
/* [in] */ const BSTR strLocale,
/* [in] */ long lSecurityFlags,
/* [in] */ const BSTR strAuthority,
/* [in] */ IWbemContext *pCtx,
/* [out] */ IWbemServices **ppNamespace);
END_INTERFACE
} IWbemLocatorVtbl;
+30
View File
@@ -0,0 +1,30 @@
typedef struct IWbemObjectSinkVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IWbemObjectSink * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IWbemObjectSink * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IWbemObjectSink * This);
HRESULT ( STDMETHODCALLTYPE *Indicate )(
__RPC__in IWbemObjectSink * This,
/* [in] */ long lObjectCount,
/* [size_is][in] */ __RPC__in_ecount_full(lObjectCount) IWbemClassObject **apObjArray);
HRESULT ( STDMETHODCALLTYPE *SetStatus )(
__RPC__in IWbemObjectSink * This,
/* [in] */ long lFlags,
/* [in] */ HRESULT hResult,
/* [unique][in] */ __RPC__in_opt BSTR strParam,
/* [unique][in] */ __RPC__in_opt IWbemClassObject *pObjParam);
END_INTERFACE
} IWbemObjectSinkVtbl;
@@ -0,0 +1,54 @@
typedef struct IWbemQualifierSetVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IWbemQualifierSet * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IWbemQualifierSet * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IWbemQualifierSet * This);
HRESULT ( STDMETHODCALLTYPE *Get )(
IWbemQualifierSet * This,
/* [string][in] */ LPCWSTR wszName,
/* [in] */ long lFlags,
/* [unique][in][out] */ VARIANT *pVal,
/* [unique][in][out] */ long *plFlavor);
HRESULT ( STDMETHODCALLTYPE *Put )(
IWbemQualifierSet * This,
/* [string][in] */ LPCWSTR wszName,
/* [in] */ VARIANT *pVal,
/* [in] */ long lFlavor);
HRESULT ( STDMETHODCALLTYPE *Delete )(
IWbemQualifierSet * This,
/* [string][in] */ LPCWSTR wszName);
HRESULT ( STDMETHODCALLTYPE *GetNames )(
IWbemQualifierSet * This,
/* [in] */ long lFlags,
/* [out] */ SAFEARRAY * *pNames);
HRESULT ( STDMETHODCALLTYPE *BeginEnumeration )(
IWbemQualifierSet * This,
/* [in] */ long lFlags);
HRESULT ( STDMETHODCALLTYPE *Next )(
IWbemQualifierSet * This,
/* [in] */ long lFlags,
/* [unique][in][out] */ BSTR *pstrName,
/* [unique][in][out] */ VARIANT *pVal,
/* [unique][in][out] */ long *plFlavor);
HRESULT ( STDMETHODCALLTYPE *EndEnumeration )(
IWbemQualifierSet * This);
END_INTERFACE
} IWbemQualifierSetVtbl;
+185
View File
@@ -0,0 +1,185 @@
typedef struct IWbemServicesVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IWbemServices * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IWbemServices * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IWbemServices * This);
HRESULT ( STDMETHODCALLTYPE *OpenNamespace )(
__RPC__in IWbemServices * This,
/* [in] */ __RPC__in const BSTR strNamespace,
/* [in] */ long lFlags,
/* [in] */ __RPC__in_opt IWbemContext *pCtx,
/* [unique][in][out] */ __RPC__deref_opt_inout_opt IWbemServices **ppWorkingNamespace,
/* [unique][in][out] */ __RPC__deref_opt_inout_opt IWbemCallResult **ppResult);
HRESULT ( STDMETHODCALLTYPE *CancelAsyncCall )(
__RPC__in IWbemServices * This,
/* [in] */ __RPC__in_opt IWbemObjectSink *pSink);
HRESULT ( STDMETHODCALLTYPE *QueryObjectSink )(
__RPC__in IWbemServices * This,
/* [in] */ long lFlags,
/* [out] */ __RPC__deref_out_opt IWbemObjectSink **ppResponseHandler);
HRESULT ( STDMETHODCALLTYPE *GetObject )(
__RPC__in IWbemServices * This,
/* [in] */ __RPC__in const BSTR strObjectPath,
/* [in] */ long lFlags,
/* [in] */ __RPC__in_opt IWbemContext *pCtx,
/* [unique][in][out] */ __RPC__deref_opt_inout_opt IWbemClassObject **ppObject,
/* [unique][in][out] */ __RPC__deref_opt_inout_opt IWbemCallResult **ppCallResult);
HRESULT ( STDMETHODCALLTYPE *GetObjectAsync )(
__RPC__in IWbemServices * This,
/* [in] */ __RPC__in const BSTR strObjectPath,
/* [in] */ long lFlags,
/* [in] */ __RPC__in_opt IWbemContext *pCtx,
/* [in] */ __RPC__in_opt IWbemObjectSink *pResponseHandler);
HRESULT ( STDMETHODCALLTYPE *PutClass )(
__RPC__in IWbemServices * This,
/* [in] */ __RPC__in_opt IWbemClassObject *pObject,
/* [in] */ long lFlags,
/* [in] */ __RPC__in_opt IWbemContext *pCtx,
/* [unique][in][out] */ __RPC__deref_opt_inout_opt IWbemCallResult **ppCallResult);
HRESULT ( STDMETHODCALLTYPE *PutClassAsync )(
__RPC__in IWbemServices * This,
/* [in] */ __RPC__in_opt IWbemClassObject *pObject,
/* [in] */ long lFlags,
/* [in] */ __RPC__in_opt IWbemContext *pCtx,
/* [in] */ __RPC__in_opt IWbemObjectSink *pResponseHandler);
HRESULT ( STDMETHODCALLTYPE *DeleteClass )(
__RPC__in IWbemServices * This,
/* [in] */ __RPC__in const BSTR strClass,
/* [in] */ long lFlags,
/* [in] */ __RPC__in_opt IWbemContext *pCtx,
/* [unique][in][out] */ __RPC__deref_opt_inout_opt IWbemCallResult **ppCallResult);
HRESULT ( STDMETHODCALLTYPE *DeleteClassAsync )(
__RPC__in IWbemServices * This,
/* [in] */ __RPC__in const BSTR strClass,
/* [in] */ long lFlags,
/* [in] */ __RPC__in_opt IWbemContext *pCtx,
/* [in] */ __RPC__in_opt IWbemObjectSink *pResponseHandler);
HRESULT ( STDMETHODCALLTYPE *CreateClassEnum )(
__RPC__in IWbemServices * This,
/* [in] */ __RPC__in const BSTR strSuperclass,
/* [in] */ long lFlags,
/* [in] */ __RPC__in_opt IWbemContext *pCtx,
/* [out] */ __RPC__deref_out_opt IEnumWbemClassObject **ppEnum);
HRESULT ( STDMETHODCALLTYPE *CreateClassEnumAsync )(
__RPC__in IWbemServices * This,
/* [in] */ __RPC__in const BSTR strSuperclass,
/* [in] */ long lFlags,
/* [in] */ __RPC__in_opt IWbemContext *pCtx,
/* [in] */ __RPC__in_opt IWbemObjectSink *pResponseHandler);
HRESULT ( STDMETHODCALLTYPE *PutInstance )(
__RPC__in IWbemServices * This,
/* [in] */ __RPC__in_opt IWbemClassObject *pInst,
/* [in] */ long lFlags,
/* [in] */ __RPC__in_opt IWbemContext *pCtx,
/* [unique][in][out] */ __RPC__deref_opt_inout_opt IWbemCallResult **ppCallResult);
HRESULT ( STDMETHODCALLTYPE *PutInstanceAsync )(
__RPC__in IWbemServices * This,
/* [in] */ __RPC__in_opt IWbemClassObject *pInst,
/* [in] */ long lFlags,
/* [in] */ __RPC__in_opt IWbemContext *pCtx,
/* [in] */ __RPC__in_opt IWbemObjectSink *pResponseHandler);
HRESULT ( STDMETHODCALLTYPE *DeleteInstance )(
__RPC__in IWbemServices * This,
/* [in] */ __RPC__in const BSTR strObjectPath,
/* [in] */ long lFlags,
/* [in] */ __RPC__in_opt IWbemContext *pCtx,
/* [unique][in][out] */ __RPC__deref_opt_inout_opt IWbemCallResult **ppCallResult);
HRESULT ( STDMETHODCALLTYPE *DeleteInstanceAsync )(
__RPC__in IWbemServices * This,
/* [in] */ __RPC__in const BSTR strObjectPath,
/* [in] */ long lFlags,
/* [in] */ __RPC__in_opt IWbemContext *pCtx,
/* [in] */ __RPC__in_opt IWbemObjectSink *pResponseHandler);
HRESULT ( STDMETHODCALLTYPE *CreateInstanceEnum )(
__RPC__in IWbemServices * This,
/* [in] */ __RPC__in const BSTR strFilter,
/* [in] */ long lFlags,
/* [in] */ __RPC__in_opt IWbemContext *pCtx,
/* [out] */ __RPC__deref_out_opt IEnumWbemClassObject **ppEnum);
HRESULT ( STDMETHODCALLTYPE *CreateInstanceEnumAsync )(
__RPC__in IWbemServices * This,
/* [in] */ __RPC__in const BSTR strFilter,
/* [in] */ long lFlags,
/* [in] */ __RPC__in_opt IWbemContext *pCtx,
/* [in] */ __RPC__in_opt IWbemObjectSink *pResponseHandler);
HRESULT ( STDMETHODCALLTYPE *ExecQuery )(
__RPC__in IWbemServices * This,
/* [in] */ __RPC__in const BSTR strQueryLanguage,
/* [in] */ __RPC__in const BSTR strQuery,
/* [in] */ long lFlags,
/* [in] */ __RPC__in_opt IWbemContext *pCtx,
/* [out] */ __RPC__deref_out_opt IEnumWbemClassObject **ppEnum);
HRESULT ( STDMETHODCALLTYPE *ExecQueryAsync )(
__RPC__in IWbemServices * This,
/* [in] */ __RPC__in const BSTR strQueryLanguage,
/* [in] */ __RPC__in const BSTR strQuery,
/* [in] */ long lFlags,
/* [in] */ __RPC__in_opt IWbemContext *pCtx,
/* [in] */ __RPC__in_opt IWbemObjectSink *pResponseHandler);
HRESULT ( STDMETHODCALLTYPE *ExecNotificationQuery )(
__RPC__in IWbemServices * This,
/* [in] */ __RPC__in const BSTR strQueryLanguage,
/* [in] */ __RPC__in const BSTR strQuery,
/* [in] */ long lFlags,
/* [in] */ __RPC__in_opt IWbemContext *pCtx,
/* [out] */ __RPC__deref_out_opt IEnumWbemClassObject **ppEnum);
HRESULT ( STDMETHODCALLTYPE *ExecNotificationQueryAsync )(
__RPC__in IWbemServices * This,
/* [in] */ __RPC__in const BSTR strQueryLanguage,
/* [in] */ __RPC__in const BSTR strQuery,
/* [in] */ long lFlags,
/* [in] */ __RPC__in_opt IWbemContext *pCtx,
/* [in] */ __RPC__in_opt IWbemObjectSink *pResponseHandler);
HRESULT ( STDMETHODCALLTYPE *ExecMethod )(
__RPC__in IWbemServices * This,
/* [in] */ __RPC__in const BSTR strObjectPath,
/* [in] */ __RPC__in const BSTR strMethodName,
/* [in] */ long lFlags,
/* [in] */ __RPC__in_opt IWbemContext *pCtx,
/* [in] */ __RPC__in_opt IWbemClassObject *pInParams,
/* [unique][in][out] */ __RPC__deref_opt_inout_opt IWbemClassObject **ppOutParams,
/* [unique][in][out] */ __RPC__deref_opt_inout_opt IWbemCallResult **ppCallResult);
HRESULT ( STDMETHODCALLTYPE *ExecMethodAsync )(
__RPC__in IWbemServices * This,
/* [in] */ __RPC__in const BSTR strObjectPath,
/* [in] */ __RPC__in const BSTR strMethodName,
/* [in] */ long lFlags,
/* [in] */ __RPC__in_opt IWbemContext *pCtx,
/* [in] */ __RPC__in_opt IWbemClassObject *pInParams,
/* [in] */ __RPC__in_opt IWbemObjectSink *pResponseHandler);
END_INTERFACE
} IWbemServicesVtbl;
+15 -2
View File
@@ -283,8 +283,21 @@ class IID(IID):
return '<IID "{0}">'.format(self.strid.upper())
return '<IID "{0}({1})">'.format(self.strid.upper(), self.name)
def generate_IID(Data1, Data2, Data3, Data41, Data42, Data43, Data44, Data45, Data46, Data47, Data48, **kwargs):
return IID(Data1, Data2, Data3, (BYTE*8)(Data41, Data42, Data43, Data44, Data45, Data46, Data47, Data48), **kwargs)
@classmethod
def from_string(cls, iid):
part_iid = iid.split("-")
datas = [int(x, 16) for x in part_iid[:3]]
datas.append(int(part_iid[3][:2], 16))
datas.append(int(part_iid[3][2:], 16))
for i in range(6):
datas.append(int(part_iid[4][i * 2:(i + 1) * 2], 16))
return cls.from_raw(*datas, strid=iid)
@classmethod
def from_raw(cls, Data1, Data2, Data3, Data41, Data42, Data43, Data44, Data45, Data46, Data47, Data48, **kwargs):
return cls(Data1, Data2, Data3, (BYTE*8)(Data41, Data42, Data43, Data44, Data45, Data46, Data47, Data48), **kwargs)
generate_IID = IID.from_raw
class COMInterface(ctypes.c_void_p):
File diff suppressed because it is too large Load Diff
+2 -22
View File
@@ -2,31 +2,11 @@ import struct
import ctypes
import functools
from ctypes.wintypes import HRESULT
from windows.generated_def.winstructs import *
# Simple Abstraction to call COM interface in Python (Python -> COM)
IID_PACK = "<I", "<H", "<H", "<B", "<B", "<B", "<B", "<B", "<B", "<B", "<B"
def get_IID_from_raw(raw):
return "".join([struct.pack(i, j) for i, j in zip(IID_PACK, raw)])
class COMInterface(ctypes.c_void_p):
_functions_ = {
"QueryInterface": ctypes.WINFUNCTYPE(HRESULT, ctypes.c_void_p, ctypes.c_void_p)(0, "QueryInterface"),
"AddRef": ctypes.WINFUNCTYPE(HRESULT)(1, "AddRef"),
"Release": ctypes.WINFUNCTYPE(HRESULT)(2, "Release")
}
def __getattr__(self, name):
if name in self._functions_:
return functools.partial(self._functions_[name], self)
return super(COMInterface, self).__getattribute__(name)
from windows.generated_def import interfaces
from windows.generated_def.interfaces import generate_IID, IID
# Simple Implem to create COM Interface in Python (COM -> Python)
def create_c_callable(func, types, keepalive=[]):
func_type = ctypes.WINFUNCTYPE(*types)
c_callable = func_type(func)