From f9104141e5057b1c2c93e887f1e41afbce7d8f4c Mon Sep 17 00:00:00 2001 From: hakril Date: Fri, 26 Apr 2019 13:49:55 +0200 Subject: [PATCH] Added/refactored many ctypes_generation definitions --- ctypes_generation/com_parser.py | 13 +- .../{ => BITS}/IBackgroundCopyCallback.txt | 0 .../com/{ => BITS}/IBackgroundCopyError.txt | 0 .../com/{ => BITS}/IBackgroundCopyFile.txt | 0 .../com/BITS/IBackgroundCopyFile2.txt | 39 +++ .../com/BITS/IBackgroundCopyFile3.txt | 55 +++ .../com/{ => BITS}/IBackgroundCopyJob.txt | 0 .../com/BITS/IBackgroundCopyJob2.txt | 183 ++++++++++ .../com/BITS/IBackgroundCopyJob3.txt_ignore | 203 +++++++++++ .../com/{ => BITS}/IBackgroundCopyManager.txt | 0 .../{ => BITS}/IEnumBackgroundCopyFiles.txt | 0 .../{ => BITS}/IEnumBackgroundCopyJobs.txt | 0 .../com/{ => WMI}/IEnumWbemClassObject.txt | 0 .../com/{ => WMI}/IWbemCallResultVtbl.txt | 0 .../com/{ => WMI}/IWbemClassObjectVtbl.txt | 0 .../com/{ => WMI}/IWbemContextVtbl.txt | 0 .../com/{ => WMI}/IWbemLocatorVtbl.txt | 0 .../com/{ => WMI}/IWbemObjectSink.txt | 0 .../com/{ => WMI}/IWbemQualifierSet.txt | 0 .../com/{ => WMI}/IWbemServicesVtbl.txt | 0 .../com/WebBrowser/IWebBrowser2.txt | 321 ++++++++++++++++++ .../definitions/defines/bits.txt | 7 + .../definitions/defines/comdef.txt | 2 + .../definitions/defines/szOID.txt | 207 +++++++++++ .../definitions/defines/windef_error.txt | 14 +- .../defines/wintrust_crypt_def.txt | 154 --------- .../definitions/functions/com.txt | 12 + .../definitions/functions/dbghelp.txt | 37 -- .../definitions/functions/winfunc.txt | 33 -- .../definitions/simple_types.txt | 9 +- .../definitions/structures/bits.txt | 39 +++ .../definitions/structures/crypto.txt | 18 +- .../definitions/structures/file_info.txt | 23 +- .../definitions/structures/symbols.txt | 132 ++++++- .../definitions/structures/template.py | 4 + .../definitions/structures/winstruct.txt | 63 +--- .../extended_structs/_CRYPT_ATTRIBUTE.py | 22 ++ .../extended_structs/_CRYPT_ATTRIBUTES.py | 15 + .../extended_structs/_FILETIME.py | 5 + 39 files changed, 1311 insertions(+), 299 deletions(-) rename ctypes_generation/definitions/com/{ => BITS}/IBackgroundCopyCallback.txt (100%) rename ctypes_generation/definitions/com/{ => BITS}/IBackgroundCopyError.txt (100%) rename ctypes_generation/definitions/com/{ => BITS}/IBackgroundCopyFile.txt (100%) create mode 100644 ctypes_generation/definitions/com/BITS/IBackgroundCopyFile2.txt create mode 100644 ctypes_generation/definitions/com/BITS/IBackgroundCopyFile3.txt rename ctypes_generation/definitions/com/{ => BITS}/IBackgroundCopyJob.txt (100%) create mode 100644 ctypes_generation/definitions/com/BITS/IBackgroundCopyJob2.txt create mode 100644 ctypes_generation/definitions/com/BITS/IBackgroundCopyJob3.txt_ignore rename ctypes_generation/definitions/com/{ => BITS}/IBackgroundCopyManager.txt (100%) rename ctypes_generation/definitions/com/{ => BITS}/IEnumBackgroundCopyFiles.txt (100%) rename ctypes_generation/definitions/com/{ => BITS}/IEnumBackgroundCopyJobs.txt (100%) rename ctypes_generation/definitions/com/{ => WMI}/IEnumWbemClassObject.txt (100%) rename ctypes_generation/definitions/com/{ => WMI}/IWbemCallResultVtbl.txt (100%) rename ctypes_generation/definitions/com/{ => WMI}/IWbemClassObjectVtbl.txt (100%) rename ctypes_generation/definitions/com/{ => WMI}/IWbemContextVtbl.txt (100%) rename ctypes_generation/definitions/com/{ => WMI}/IWbemLocatorVtbl.txt (100%) rename ctypes_generation/definitions/com/{ => WMI}/IWbemObjectSink.txt (100%) rename ctypes_generation/definitions/com/{ => WMI}/IWbemQualifierSet.txt (100%) rename ctypes_generation/definitions/com/{ => WMI}/IWbemServicesVtbl.txt (100%) create mode 100644 ctypes_generation/definitions/com/WebBrowser/IWebBrowser2.txt create mode 100644 ctypes_generation/definitions/defines/bits.txt create mode 100644 ctypes_generation/definitions/defines/szOID.txt create mode 100644 ctypes_generation/definitions/structures/bits.txt create mode 100644 ctypes_generation/extended_structs/_CRYPT_ATTRIBUTE.py create mode 100644 ctypes_generation/extended_structs/_CRYPT_ATTRIBUTES.py create mode 100644 ctypes_generation/extended_structs/_FILETIME.py diff --git a/ctypes_generation/com_parser.py b/ctypes_generation/com_parser.py index 83639cf..3235f2b 100644 --- a/ctypes_generation/com_parser.py +++ b/ctypes_generation/com_parser.py @@ -12,7 +12,8 @@ class WinComParser(Parser): "__reserved", "__RPC__in_opt_string", "__RPC__inout_opt", "__RPC__in_string", "__deref_out_opt", "__RPC__inout"] PARAM_INFO_WITH_VALUE = ["__RPC__in_ecount", "__RPC__out_ecount_part", "__RPC__in_ecount_full", "__RPC__in_range", "__RPC__out_ecount_full", "__out_ecount_opt", "__out_ecount", "__in_ecount_opt", - "__in_ecount", "__out_bcount_opt", "__out_bcount", "__in_bcount", "__in_bcount_opt", "__RPC__out_ecount_full_string"] + "__in_ecount", "__out_bcount_opt", "__out_bcount", "__in_bcount", "__in_bcount_opt", "__RPC__out_ecount_full_string", + "__RPC__deref_out_ecount_full_opt"] def __init__(self, data): # data = self.initial_processing(data) @@ -34,9 +35,13 @@ class WinComParser(Parser): if ign.value in self.PARAM_INFO_WITH_VALUE: # pass __RPC__in_ecount(cNames) self.assert_token_type(OpenParenthesisToken) - while type(self.peek()) != CloseParenthesisToken: - self.next_token() - self.next_token() + depth = 1 + while depth: + ntok = self.next_token() + if type(ntok) == CloseParenthesisToken: + depth -= 1 + elif type(ntok) == OpenParenthesisToken: + depth +=1 if self.peek() == KeywordToken("const"): self.next_token() type_name = self.assert_token_type(NameToken) diff --git a/ctypes_generation/definitions/com/IBackgroundCopyCallback.txt b/ctypes_generation/definitions/com/BITS/IBackgroundCopyCallback.txt similarity index 100% rename from ctypes_generation/definitions/com/IBackgroundCopyCallback.txt rename to ctypes_generation/definitions/com/BITS/IBackgroundCopyCallback.txt diff --git a/ctypes_generation/definitions/com/IBackgroundCopyError.txt b/ctypes_generation/definitions/com/BITS/IBackgroundCopyError.txt similarity index 100% rename from ctypes_generation/definitions/com/IBackgroundCopyError.txt rename to ctypes_generation/definitions/com/BITS/IBackgroundCopyError.txt diff --git a/ctypes_generation/definitions/com/IBackgroundCopyFile.txt b/ctypes_generation/definitions/com/BITS/IBackgroundCopyFile.txt similarity index 100% rename from ctypes_generation/definitions/com/IBackgroundCopyFile.txt rename to ctypes_generation/definitions/com/BITS/IBackgroundCopyFile.txt diff --git a/ctypes_generation/definitions/com/BITS/IBackgroundCopyFile2.txt b/ctypes_generation/definitions/com/BITS/IBackgroundCopyFile2.txt new file mode 100644 index 0000000..5548d03 --- /dev/null +++ b/ctypes_generation/definitions/com/BITS/IBackgroundCopyFile2.txt @@ -0,0 +1,39 @@ +typedef struct IBackgroundCopyFile2Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IBackgroundCopyFile2 * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IBackgroundCopyFile2 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IBackgroundCopyFile2 * This); + + HRESULT ( STDMETHODCALLTYPE *GetRemoteName )( + __RPC__in IBackgroundCopyFile2 * This, + /* [out] */ __RPC__deref_out_opt LPWSTR *pVal); + + HRESULT ( STDMETHODCALLTYPE *GetLocalName )( + __RPC__in IBackgroundCopyFile2 * This, + /* [out] */ __RPC__deref_out_opt LPWSTR *pVal); + + HRESULT ( STDMETHODCALLTYPE *GetProgress )( + __RPC__in IBackgroundCopyFile2 * This, + /* [out] */ __RPC__out BG_FILE_PROGRESS *pVal); + + HRESULT ( STDMETHODCALLTYPE *GetFileRanges )( + __RPC__in IBackgroundCopyFile2 * This, + /* [unique][out][in] */ __RPC__inout_opt DWORD *RangeCount, + /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*RangeCount) BG_FILE_RANGE **Ranges); + + HRESULT ( STDMETHODCALLTYPE *SetRemoteName )( + __RPC__in IBackgroundCopyFile2 * This, + __RPC__in LPCWSTR Val); + + END_INTERFACE + } IBackgroundCopyFile2Vtbl; \ No newline at end of file diff --git a/ctypes_generation/definitions/com/BITS/IBackgroundCopyFile3.txt b/ctypes_generation/definitions/com/BITS/IBackgroundCopyFile3.txt new file mode 100644 index 0000000..04b8509 --- /dev/null +++ b/ctypes_generation/definitions/com/BITS/IBackgroundCopyFile3.txt @@ -0,0 +1,55 @@ +typedef struct IBackgroundCopyFile3Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IBackgroundCopyFile3 * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IBackgroundCopyFile3 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IBackgroundCopyFile3 * This); + + HRESULT ( STDMETHODCALLTYPE *GetRemoteName )( + __RPC__in IBackgroundCopyFile3 * This, + /* [out] */ __RPC__deref_out_opt LPWSTR *pVal); + + HRESULT ( STDMETHODCALLTYPE *GetLocalName )( + __RPC__in IBackgroundCopyFile3 * This, + /* [out] */ __RPC__deref_out_opt LPWSTR *pVal); + + HRESULT ( STDMETHODCALLTYPE *GetProgress )( + __RPC__in IBackgroundCopyFile3 * This, + /* [out] */ __RPC__out BG_FILE_PROGRESS *pVal); + + HRESULT ( STDMETHODCALLTYPE *GetFileRanges )( + __RPC__in IBackgroundCopyFile3 * This, + /* [unique][out][in] */ __RPC__inout_opt DWORD *RangeCount, + /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*RangeCount) BG_FILE_RANGE **Ranges); + + HRESULT ( STDMETHODCALLTYPE *SetRemoteName )( + __RPC__in IBackgroundCopyFile3 * This, + __RPC__in LPCWSTR Val); + + HRESULT ( STDMETHODCALLTYPE *GetTemporaryName )( + __RPC__in IBackgroundCopyFile3 * This, + /* [out] */ __RPC__deref_out_opt LPWSTR *pFilename); + + HRESULT ( STDMETHODCALLTYPE *SetValidationState )( + __RPC__in IBackgroundCopyFile3 * This, + /* [in] */ BOOL state); + + HRESULT ( STDMETHODCALLTYPE *GetValidationState )( + __RPC__in IBackgroundCopyFile3 * This, + /* [out] */ __RPC__out BOOL *pState); + + HRESULT ( STDMETHODCALLTYPE *IsDownloadedFromPeer )( + __RPC__in IBackgroundCopyFile3 * This, + /* [out] */ __RPC__out BOOL *pVal); + + END_INTERFACE + } IBackgroundCopyFile3Vtbl; \ No newline at end of file diff --git a/ctypes_generation/definitions/com/IBackgroundCopyJob.txt b/ctypes_generation/definitions/com/BITS/IBackgroundCopyJob.txt similarity index 100% rename from ctypes_generation/definitions/com/IBackgroundCopyJob.txt rename to ctypes_generation/definitions/com/BITS/IBackgroundCopyJob.txt diff --git a/ctypes_generation/definitions/com/BITS/IBackgroundCopyJob2.txt b/ctypes_generation/definitions/com/BITS/IBackgroundCopyJob2.txt new file mode 100644 index 0000000..372d7e7 --- /dev/null +++ b/ctypes_generation/definitions/com/BITS/IBackgroundCopyJob2.txt @@ -0,0 +1,183 @@ +typedef struct IBackgroundCopyJob2Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IBackgroundCopyJob2 * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IBackgroundCopyJob2 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IBackgroundCopyJob2 * This); + + HRESULT ( STDMETHODCALLTYPE *AddFileSet )( + __RPC__in IBackgroundCopyJob2 * This, + /* [in] */ ULONG cFileCount, + /* [size_is][in] */ __RPC__in_ecount_full(cFileCount) BG_FILE_INFO *pFileSet); + + HRESULT ( STDMETHODCALLTYPE *AddFile )( + __RPC__in IBackgroundCopyJob2 * This, + /* [in] */ __RPC__in LPCWSTR RemoteUrl, + /* [in] */ __RPC__in LPCWSTR LocalName); + + HRESULT ( STDMETHODCALLTYPE *EnumFiles )( + __RPC__in IBackgroundCopyJob2 * This, + /* [out] */ __RPC__deref_out_opt IEnumBackgroundCopyFiles **pEnum); + + HRESULT ( STDMETHODCALLTYPE *Suspend )( + __RPC__in IBackgroundCopyJob2 * This); + + HRESULT ( STDMETHODCALLTYPE *Resume )( + __RPC__in IBackgroundCopyJob2 * This); + + HRESULT ( STDMETHODCALLTYPE *Cancel )( + __RPC__in IBackgroundCopyJob2 * This); + + HRESULT ( STDMETHODCALLTYPE *Complete )( + __RPC__in IBackgroundCopyJob2 * This); + + HRESULT ( STDMETHODCALLTYPE *GetId )( + __RPC__in IBackgroundCopyJob2 * This, + /* [out] */ __RPC__out GUID *pVal); + + HRESULT ( STDMETHODCALLTYPE *GetType )( + __RPC__in IBackgroundCopyJob2 * This, + /* [out] */ __RPC__out BG_JOB_TYPE *pVal); + + HRESULT ( STDMETHODCALLTYPE *GetProgress )( + __RPC__in IBackgroundCopyJob2 * This, + /* [out] */ __RPC__out BG_JOB_PROGRESS *pVal); + + HRESULT ( STDMETHODCALLTYPE *GetTimes )( + __RPC__in IBackgroundCopyJob2 * This, + /* [out] */ __RPC__out BG_JOB_TIMES *pVal); + + HRESULT ( STDMETHODCALLTYPE *GetState )( + __RPC__in IBackgroundCopyJob2 * This, + /* [out] */ __RPC__out BG_JOB_STATE *pVal); + + HRESULT ( STDMETHODCALLTYPE *GetError )( + __RPC__in IBackgroundCopyJob2 * This, + /* [out] */ __RPC__deref_out_opt IBackgroundCopyError **ppError); + + HRESULT ( STDMETHODCALLTYPE *GetOwner )( + __RPC__in IBackgroundCopyJob2 * This, + /* [out] */ __RPC__deref_out_opt LPWSTR *pVal); + + HRESULT ( STDMETHODCALLTYPE *SetDisplayName )( + __RPC__in IBackgroundCopyJob2 * This, + /* [in] */ __RPC__in LPCWSTR Val); + + HRESULT ( STDMETHODCALLTYPE *GetDisplayName )( + __RPC__in IBackgroundCopyJob2 * This, + /* [out] */ __RPC__deref_out_opt LPWSTR *pVal); + + HRESULT ( STDMETHODCALLTYPE *SetDescription )( + __RPC__in IBackgroundCopyJob2 * This, + /* [in] */ __RPC__in LPCWSTR Val); + + HRESULT ( STDMETHODCALLTYPE *GetDescription )( + __RPC__in IBackgroundCopyJob2 * This, + /* [out] */ __RPC__deref_out_opt LPWSTR *pVal); + + HRESULT ( STDMETHODCALLTYPE *SetPriority )( + __RPC__in IBackgroundCopyJob2 * This, + /* [in] */ BG_JOB_PRIORITY Val); + + HRESULT ( STDMETHODCALLTYPE *GetPriority )( + __RPC__in IBackgroundCopyJob2 * This, + /* [out] */ __RPC__out BG_JOB_PRIORITY *pVal); + + HRESULT ( STDMETHODCALLTYPE *SetNotifyFlags )( + __RPC__in IBackgroundCopyJob2 * This, + /* [in] */ ULONG Val); + + HRESULT ( STDMETHODCALLTYPE *GetNotifyFlags )( + __RPC__in IBackgroundCopyJob2 * This, + /* [out] */ __RPC__out ULONG *pVal); + + HRESULT ( STDMETHODCALLTYPE *SetNotifyInterface )( + __RPC__in IBackgroundCopyJob2 * This, + /* [in] */ __RPC__in_opt IUnknown *Val); + + HRESULT ( STDMETHODCALLTYPE *GetNotifyInterface )( + __RPC__in IBackgroundCopyJob2 * This, + /* [out] */ __RPC__deref_out_opt IUnknown **pVal); + + HRESULT ( STDMETHODCALLTYPE *SetMinimumRetryDelay )( + __RPC__in IBackgroundCopyJob2 * This, + /* [in] */ ULONG Seconds); + + HRESULT ( STDMETHODCALLTYPE *GetMinimumRetryDelay )( + __RPC__in IBackgroundCopyJob2 * This, + /* [out] */ __RPC__out ULONG *Seconds); + + HRESULT ( STDMETHODCALLTYPE *SetNoProgressTimeout )( + __RPC__in IBackgroundCopyJob2 * This, + /* [in] */ ULONG Seconds); + + HRESULT ( STDMETHODCALLTYPE *GetNoProgressTimeout )( + __RPC__in IBackgroundCopyJob2 * This, + /* [out] */ __RPC__out ULONG *Seconds); + + HRESULT ( STDMETHODCALLTYPE *GetErrorCount )( + __RPC__in IBackgroundCopyJob2 * This, + /* [out] */ __RPC__out ULONG *Errors); + + HRESULT ( STDMETHODCALLTYPE *SetProxySettings )( + __RPC__in IBackgroundCopyJob2 * This, + /* [in] */ BG_JOB_PROXY_USAGE ProxyUsage, + /* [unique][string][in] */ __RPC__in_opt_string const WCHAR *ProxyList, + /* [unique][string][in] */ __RPC__in_opt_string const WCHAR *ProxyBypassList); + + HRESULT ( STDMETHODCALLTYPE *GetProxySettings )( + __RPC__in IBackgroundCopyJob2 * This, + /* [out] */ __RPC__out BG_JOB_PROXY_USAGE *pProxyUsage, + /* [out] */ __RPC__deref_out_opt LPWSTR *pProxyList, + /* [out] */ __RPC__deref_out_opt LPWSTR *pProxyBypassList); + + HRESULT ( STDMETHODCALLTYPE *TakeOwnership )( + __RPC__in IBackgroundCopyJob2 * This); + + HRESULT ( STDMETHODCALLTYPE *SetNotifyCmdLine )( + __RPC__in IBackgroundCopyJob2 * This, + /* [unique][in] */ __RPC__in_opt LPCWSTR Program, + /* [unique][in] */ __RPC__in_opt LPCWSTR Parameters); + + HRESULT ( STDMETHODCALLTYPE *GetNotifyCmdLine )( + __RPC__in IBackgroundCopyJob2 * This, + /* [out] */ __RPC__deref_out_opt LPWSTR *pProgram, + /* [out] */ __RPC__deref_out_opt LPWSTR *pParameters); + + HRESULT ( STDMETHODCALLTYPE *GetReplyProgress )( + __RPC__in IBackgroundCopyJob2 * This, + /* [out][in] */ __RPC__inout BG_JOB_REPLY_PROGRESS *pProgress); + + HRESULT ( STDMETHODCALLTYPE *GetReplyData )( + __RPC__in IBackgroundCopyJob2 * This, + /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(( unsigned long )*pLength) BYTE **ppBuffer, + /* [unique][out][in] */ __RPC__inout_opt UINT64 *pLength); + + HRESULT ( STDMETHODCALLTYPE *SetReplyFileName )( + __RPC__in IBackgroundCopyJob2 * This, + /* [unique][in] */ __RPC__in_opt LPCWSTR ReplyFileName); + + HRESULT ( STDMETHODCALLTYPE *GetReplyFileName )( + __RPC__in IBackgroundCopyJob2 * This, + /* [out] */ __RPC__deref_out_opt LPWSTR *pReplyFileName); + + HRESULT ( STDMETHODCALLTYPE *SetCredentials )( + __RPC__in IBackgroundCopyJob2 * This, + __RPC__in BG_AUTH_CREDENTIALS *credentials); + + HRESULT ( STDMETHODCALLTYPE *RemoveCredentials )( + __RPC__in IBackgroundCopyJob2 * This, + BG_AUTH_TARGET Target, + BG_AUTH_SCHEME Scheme); + + END_INTERFACE + } IBackgroundCopyJob2Vtbl; \ No newline at end of file diff --git a/ctypes_generation/definitions/com/BITS/IBackgroundCopyJob3.txt_ignore b/ctypes_generation/definitions/com/BITS/IBackgroundCopyJob3.txt_ignore new file mode 100644 index 0000000..9acd4d5 --- /dev/null +++ b/ctypes_generation/definitions/com/BITS/IBackgroundCopyJob3.txt_ignore @@ -0,0 +1,203 @@ +typedef struct IBackgroundCopyJob3Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IBackgroundCopyJob3 * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + __RPC__deref_out void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IBackgroundCopyJob3 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IBackgroundCopyJob3 * This); + + HRESULT ( STDMETHODCALLTYPE *AddFileSet )( + __RPC__in IBackgroundCopyJob3 * This, + /* [in] */ ULONG cFileCount, + /* [size_is][in] */ __RPC__in_ecount_full(cFileCount) BG_FILE_INFO *pFileSet); + + HRESULT ( STDMETHODCALLTYPE *AddFile )( + __RPC__in IBackgroundCopyJob3 * This, + /* [in] */ __RPC__in LPCWSTR RemoteUrl, + /* [in] */ __RPC__in LPCWSTR LocalName); + + HRESULT ( STDMETHODCALLTYPE *EnumFiles )( + __RPC__in IBackgroundCopyJob3 * This, + /* [out] */ __RPC__deref_out_opt IEnumBackgroundCopyFiles **pEnum); + + HRESULT ( STDMETHODCALLTYPE *Suspend )( + __RPC__in IBackgroundCopyJob3 * This); + + HRESULT ( STDMETHODCALLTYPE *Resume )( + __RPC__in IBackgroundCopyJob3 * This); + + HRESULT ( STDMETHODCALLTYPE *Cancel )( + __RPC__in IBackgroundCopyJob3 * This); + + HRESULT ( STDMETHODCALLTYPE *Complete )( + __RPC__in IBackgroundCopyJob3 * This); + + HRESULT ( STDMETHODCALLTYPE *GetId )( + __RPC__in IBackgroundCopyJob3 * This, + /* [out] */ __RPC__out GUID *pVal); + + HRESULT ( STDMETHODCALLTYPE *GetType )( + __RPC__in IBackgroundCopyJob3 * This, + /* [out] */ __RPC__out BG_JOB_TYPE *pVal); + + HRESULT ( STDMETHODCALLTYPE *GetProgress )( + __RPC__in IBackgroundCopyJob3 * This, + /* [out] */ __RPC__out BG_JOB_PROGRESS *pVal); + + HRESULT ( STDMETHODCALLTYPE *GetTimes )( + __RPC__in IBackgroundCopyJob3 * This, + /* [out] */ __RPC__out BG_JOB_TIMES *pVal); + + HRESULT ( STDMETHODCALLTYPE *GetState )( + __RPC__in IBackgroundCopyJob3 * This, + /* [out] */ __RPC__out BG_JOB_STATE *pVal); + + HRESULT ( STDMETHODCALLTYPE *GetError )( + __RPC__in IBackgroundCopyJob3 * This, + /* [out] */ __RPC__deref_out_opt IBackgroundCopyError **ppError); + + HRESULT ( STDMETHODCALLTYPE *GetOwner )( + __RPC__in IBackgroundCopyJob3 * This, + /* [out] */ __RPC__deref_out_opt LPWSTR *pVal); + + HRESULT ( STDMETHODCALLTYPE *SetDisplayName )( + __RPC__in IBackgroundCopyJob3 * This, + /* [in] */ __RPC__in LPCWSTR Val); + + HRESULT ( STDMETHODCALLTYPE *GetDisplayName )( + __RPC__in IBackgroundCopyJob3 * This, + /* [out] */ __RPC__deref_out_opt LPWSTR *pVal); + + HRESULT ( STDMETHODCALLTYPE *SetDescription )( + __RPC__in IBackgroundCopyJob3 * This, + /* [in] */ __RPC__in LPCWSTR Val); + + HRESULT ( STDMETHODCALLTYPE *GetDescription )( + __RPC__in IBackgroundCopyJob3 * This, + /* [out] */ __RPC__deref_out_opt LPWSTR *pVal); + + HRESULT ( STDMETHODCALLTYPE *SetPriority )( + __RPC__in IBackgroundCopyJob3 * This, + /* [in] */ BG_JOB_PRIORITY Val); + + HRESULT ( STDMETHODCALLTYPE *GetPriority )( + __RPC__in IBackgroundCopyJob3 * This, + /* [out] */ __RPC__out BG_JOB_PRIORITY *pVal); + + HRESULT ( STDMETHODCALLTYPE *SetNotifyFlags )( + __RPC__in IBackgroundCopyJob3 * This, + /* [in] */ ULONG Val); + + HRESULT ( STDMETHODCALLTYPE *GetNotifyFlags )( + __RPC__in IBackgroundCopyJob3 * This, + /* [out] */ __RPC__out ULONG *pVal); + + HRESULT ( STDMETHODCALLTYPE *SetNotifyInterface )( + __RPC__in IBackgroundCopyJob3 * This, + /* [in] */ __RPC__in_opt IUnknown *Val); + + HRESULT ( STDMETHODCALLTYPE *GetNotifyInterface )( + __RPC__in IBackgroundCopyJob3 * This, + /* [out] */ __RPC__deref_out_opt IUnknown **pVal); + + HRESULT ( STDMETHODCALLTYPE *SetMinimumRetryDelay )( + __RPC__in IBackgroundCopyJob3 * This, + /* [in] */ ULONG Seconds); + + HRESULT ( STDMETHODCALLTYPE *GetMinimumRetryDelay )( + __RPC__in IBackgroundCopyJob3 * This, + /* [out] */ __RPC__out ULONG *Seconds); + + HRESULT ( STDMETHODCALLTYPE *SetNoProgressTimeout )( + __RPC__in IBackgroundCopyJob3 * This, + /* [in] */ ULONG Seconds); + + HRESULT ( STDMETHODCALLTYPE *GetNoProgressTimeout )( + __RPC__in IBackgroundCopyJob3 * This, + /* [out] */ __RPC__out ULONG *Seconds); + + HRESULT ( STDMETHODCALLTYPE *GetErrorCount )( + __RPC__in IBackgroundCopyJob3 * This, + /* [out] */ __RPC__out ULONG *Errors); + + HRESULT ( STDMETHODCALLTYPE *SetProxySettings )( + __RPC__in IBackgroundCopyJob3 * This, + /* [in] */ BG_JOB_PROXY_USAGE ProxyUsage, + /* [unique][string][in] */ __RPC__in_opt_string const WCHAR *ProxyList, + /* [unique][string][in] */ __RPC__in_opt_string const WCHAR *ProxyBypassList); + + HRESULT ( STDMETHODCALLTYPE *GetProxySettings )( + __RPC__in IBackgroundCopyJob3 * This, + /* [out] */ __RPC__out BG_JOB_PROXY_USAGE *pProxyUsage, + /* [out] */ __RPC__deref_out_opt LPWSTR *pProxyList, + /* [out] */ __RPC__deref_out_opt LPWSTR *pProxyBypassList); + + HRESULT ( STDMETHODCALLTYPE *TakeOwnership )( + __RPC__in IBackgroundCopyJob3 * This); + + HRESULT ( STDMETHODCALLTYPE *SetNotifyCmdLine )( + __RPC__in IBackgroundCopyJob3 * This, + /* [unique][in] */ __RPC__in_opt LPCWSTR Program, + /* [unique][in] */ __RPC__in_opt LPCWSTR Parameters); + + HRESULT ( STDMETHODCALLTYPE *GetNotifyCmdLine )( + __RPC__in IBackgroundCopyJob3 * This, + /* [out] */ __RPC__deref_out_opt LPWSTR *pProgram, + /* [out] */ __RPC__deref_out_opt LPWSTR *pParameters); + + HRESULT ( STDMETHODCALLTYPE *GetReplyProgress )( + __RPC__in IBackgroundCopyJob3 * This, + /* [out][in] */ __RPC__inout BG_JOB_REPLY_PROGRESS *pProgress); + + HRESULT ( STDMETHODCALLTYPE *GetReplyData )( + __RPC__in IBackgroundCopyJob3 * This, + /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(( unsigned long )*pLength) byte **ppBuffer, + /* [unique][out][in] */ __RPC__inout_opt UINT64 *pLength); + + HRESULT ( STDMETHODCALLTYPE *SetReplyFileName )( + __RPC__in IBackgroundCopyJob3 * This, + /* [unique][in] */ __RPC__in_opt LPCWSTR ReplyFileName); + + HRESULT ( STDMETHODCALLTYPE *GetReplyFileName )( + __RPC__in IBackgroundCopyJob3 * This, + /* [out] */ __RPC__deref_out_opt LPWSTR *pReplyFileName); + + HRESULT ( STDMETHODCALLTYPE *SetCredentials )( + __RPC__in IBackgroundCopyJob3 * This, + __RPC__in BG_AUTH_CREDENTIALS *credentials); + + HRESULT ( STDMETHODCALLTYPE *RemoveCredentials )( + __RPC__in IBackgroundCopyJob3 * This, + BG_AUTH_TARGET Target, + BG_AUTH_SCHEME Scheme); + + HRESULT ( STDMETHODCALLTYPE *ReplaceRemotePrefix )( + __RPC__in IBackgroundCopyJob3 * This, + /* [in] */ __RPC__in LPCWSTR OldPrefix, + /* [in] */ __RPC__in LPCWSTR NewPrefix); + + HRESULT ( STDMETHODCALLTYPE *AddFileWithRanges )( + __RPC__in IBackgroundCopyJob3 * This, + /* [in] */ __RPC__in LPCWSTR RemoteUrl, + /* [in] */ __RPC__in LPCWSTR LocalName, + /* [in] */ DWORD RangeCount, + /* [size_is][in] */ __RPC__in_ecount_full(RangeCount) BG_FILE_RANGE *Ranges); + + HRESULT ( STDMETHODCALLTYPE *SetFileACLFlags )( + __RPC__in IBackgroundCopyJob3 * This, + /* [in] */ DWORD Flags); + + HRESULT ( STDMETHODCALLTYPE *GetFileACLFlags )( + __RPC__in IBackgroundCopyJob3 * This, + /* [ref][out] */ __RPC__out DWORD *Flags); + + END_INTERFACE + } IBackgroundCopyJob3Vtbl; \ No newline at end of file diff --git a/ctypes_generation/definitions/com/IBackgroundCopyManager.txt b/ctypes_generation/definitions/com/BITS/IBackgroundCopyManager.txt similarity index 100% rename from ctypes_generation/definitions/com/IBackgroundCopyManager.txt rename to ctypes_generation/definitions/com/BITS/IBackgroundCopyManager.txt diff --git a/ctypes_generation/definitions/com/IEnumBackgroundCopyFiles.txt b/ctypes_generation/definitions/com/BITS/IEnumBackgroundCopyFiles.txt similarity index 100% rename from ctypes_generation/definitions/com/IEnumBackgroundCopyFiles.txt rename to ctypes_generation/definitions/com/BITS/IEnumBackgroundCopyFiles.txt diff --git a/ctypes_generation/definitions/com/IEnumBackgroundCopyJobs.txt b/ctypes_generation/definitions/com/BITS/IEnumBackgroundCopyJobs.txt similarity index 100% rename from ctypes_generation/definitions/com/IEnumBackgroundCopyJobs.txt rename to ctypes_generation/definitions/com/BITS/IEnumBackgroundCopyJobs.txt diff --git a/ctypes_generation/definitions/com/IEnumWbemClassObject.txt b/ctypes_generation/definitions/com/WMI/IEnumWbemClassObject.txt similarity index 100% rename from ctypes_generation/definitions/com/IEnumWbemClassObject.txt rename to ctypes_generation/definitions/com/WMI/IEnumWbemClassObject.txt diff --git a/ctypes_generation/definitions/com/IWbemCallResultVtbl.txt b/ctypes_generation/definitions/com/WMI/IWbemCallResultVtbl.txt similarity index 100% rename from ctypes_generation/definitions/com/IWbemCallResultVtbl.txt rename to ctypes_generation/definitions/com/WMI/IWbemCallResultVtbl.txt diff --git a/ctypes_generation/definitions/com/IWbemClassObjectVtbl.txt b/ctypes_generation/definitions/com/WMI/IWbemClassObjectVtbl.txt similarity index 100% rename from ctypes_generation/definitions/com/IWbemClassObjectVtbl.txt rename to ctypes_generation/definitions/com/WMI/IWbemClassObjectVtbl.txt diff --git a/ctypes_generation/definitions/com/IWbemContextVtbl.txt b/ctypes_generation/definitions/com/WMI/IWbemContextVtbl.txt similarity index 100% rename from ctypes_generation/definitions/com/IWbemContextVtbl.txt rename to ctypes_generation/definitions/com/WMI/IWbemContextVtbl.txt diff --git a/ctypes_generation/definitions/com/IWbemLocatorVtbl.txt b/ctypes_generation/definitions/com/WMI/IWbemLocatorVtbl.txt similarity index 100% rename from ctypes_generation/definitions/com/IWbemLocatorVtbl.txt rename to ctypes_generation/definitions/com/WMI/IWbemLocatorVtbl.txt diff --git a/ctypes_generation/definitions/com/IWbemObjectSink.txt b/ctypes_generation/definitions/com/WMI/IWbemObjectSink.txt similarity index 100% rename from ctypes_generation/definitions/com/IWbemObjectSink.txt rename to ctypes_generation/definitions/com/WMI/IWbemObjectSink.txt diff --git a/ctypes_generation/definitions/com/IWbemQualifierSet.txt b/ctypes_generation/definitions/com/WMI/IWbemQualifierSet.txt similarity index 100% rename from ctypes_generation/definitions/com/IWbemQualifierSet.txt rename to ctypes_generation/definitions/com/WMI/IWbemQualifierSet.txt diff --git a/ctypes_generation/definitions/com/IWbemServicesVtbl.txt b/ctypes_generation/definitions/com/WMI/IWbemServicesVtbl.txt similarity index 100% rename from ctypes_generation/definitions/com/IWbemServicesVtbl.txt rename to ctypes_generation/definitions/com/WMI/IWbemServicesVtbl.txt diff --git a/ctypes_generation/definitions/com/WebBrowser/IWebBrowser2.txt b/ctypes_generation/definitions/com/WebBrowser/IWebBrowser2.txt new file mode 100644 index 0000000..47f68eb --- /dev/null +++ b/ctypes_generation/definitions/com/WebBrowser/IWebBrowser2.txt @@ -0,0 +1,321 @@ + typedef struct IWebBrowser2Vtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IWebBrowser2 * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IWebBrowser2 * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IWebBrowser2 * This); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( + __RPC__in IWebBrowser2 * This, + /* [out] */ __RPC__out UINT *pctinfo); + + HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( + __RPC__in IWebBrowser2 * This, + /* [in] */ UINT iTInfo, + /* [in] */ LCID lcid, + /* [out] */ __RPC__deref_out_opt ITypeInfo **ppTInfo); + + HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( + __RPC__in IWebBrowser2 * This, + /* [in] */ __RPC__in REFIID riid, + /* [size_is][in] */ __RPC__in_ecount_full(cNames) LPOLESTR *rgszNames, + /* [range][in] */ __RPC__in_range(0,16384) UINT cNames, + /* [in] */ LCID lcid, + /* [size_is][out] */ __RPC__out_ecount_full(cNames) DISPID *rgDispId); + + /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( + IWebBrowser2 * This, + /* [annotation][in] */ + DISPID dispIdMember, + /* [annotation][in] */ + REFIID riid, + /* [annotation][in] */ + LCID lcid, + /* [annotation][in] */ + WORD wFlags, + /* [annotation][out][in] */ + DISPPARAMS *pDispParams, + /* [annotation][out] */ + VARIANT *pVarResult, + /* [annotation][out] */ + EXCEPINFO *pExcepInfo, + /* [annotation][out] */ + UINT *puArgErr); + + /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GoBack )( + __RPC__in IWebBrowser2 * This); + + /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GoForward )( + __RPC__in IWebBrowser2 * This); + + /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GoHome )( + __RPC__in IWebBrowser2 * This); + + /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GoSearch )( + __RPC__in IWebBrowser2 * This); + + /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Navigate )( + __RPC__in IWebBrowser2 * This, + /* [in] */ __RPC__in BSTR URL, + /* [unique][optional][in] */ __RPC__in_opt VARIANT *Flags, + /* [unique][optional][in] */ __RPC__in_opt VARIANT *TargetFrameName, + /* [unique][optional][in] */ __RPC__in_opt VARIANT *PostData, + /* [unique][optional][in] */ __RPC__in_opt VARIANT *Headers); + + /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Refresh )( + __RPC__in IWebBrowser2 * This); + + /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Refresh2 )( + __RPC__in IWebBrowser2 * This, + /* [unique][optional][in] */ __RPC__in_opt VARIANT *Level); + + /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Stop )( + __RPC__in IWebBrowser2 * This); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__deref_out_opt IDispatch **ppDisp); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__deref_out_opt IDispatch **ppDisp); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Container )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__deref_out_opt IDispatch **ppDisp); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__deref_out_opt IDispatch **ppDisp); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TopLevelContainer )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *pBool); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *Type); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__out long *pl); + + /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Left )( + __RPC__in IWebBrowser2 * This, + /* [in] */ long Left); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__out long *pl); + + /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Top )( + __RPC__in IWebBrowser2 * This, + /* [in] */ long Top); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__out long *pl); + + /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( + __RPC__in IWebBrowser2 * This, + /* [in] */ long Width); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__out long *pl); + + /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( + __RPC__in IWebBrowser2 * This, + /* [in] */ long Height); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LocationName )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *LocationName); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LocationURL )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *LocationURL); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Busy )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *pBool); + + /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Quit )( + __RPC__in IWebBrowser2 * This); + + /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ClientToWindow )( + __RPC__in IWebBrowser2 * This, + /* [out][in] */ __RPC__inout int *pcx, + /* [out][in] */ __RPC__inout int *pcy); + + /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *PutProperty )( + __RPC__in IWebBrowser2 * This, + /* [in] */ __RPC__in BSTR Property, + /* [in] */ VARIANT vtValue); + + /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetProperty )( + __RPC__in IWebBrowser2 * This, + /* [in] */ __RPC__in BSTR Property, + /* [retval][out] */ __RPC__out VARIANT *pvtValue); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *Name); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HWND )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__out PVOID *pHWND); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FullName )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *FullName); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Path )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *Path); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *pBool); + + /* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( + __RPC__in IWebBrowser2 * This, + /* [in] */ VARIANT_BOOL Value); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StatusBar )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *pBool); + + /* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StatusBar )( + __RPC__in IWebBrowser2 * This, + /* [in] */ VARIANT_BOOL Value); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_StatusText )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__deref_out_opt BSTR *StatusText); + + /* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_StatusText )( + __RPC__in IWebBrowser2 * This, + /* [in] */ __RPC__in BSTR StatusText); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ToolBar )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__out int *Value); + + /* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ToolBar )( + __RPC__in IWebBrowser2 * This, + /* [in] */ int Value); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MenuBar )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *Value); + + /* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MenuBar )( + __RPC__in IWebBrowser2 * This, + /* [in] */ VARIANT_BOOL Value); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FullScreen )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *pbFullScreen); + + /* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreen )( + __RPC__in IWebBrowser2 * This, + /* [in] */ VARIANT_BOOL bFullScreen); + + /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Navigate2 )( + __RPC__in IWebBrowser2 * This, + /* [in] */ __RPC__in VARIANT *URL, + /* [unique][optional][in] */ __RPC__in_opt VARIANT *Flags, + /* [unique][optional][in] */ __RPC__in_opt VARIANT *TargetFrameName, + /* [unique][optional][in] */ __RPC__in_opt VARIANT *PostData, + /* [unique][optional][in] */ __RPC__in_opt VARIANT *Headers); + + /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *QueryStatusWB )( + __RPC__in IWebBrowser2 * This, + /* [in] */ DWORD cmdID, + /* [retval][out] */ __RPC__out DWORD *pcmdf); + + /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ExecWB )( + __RPC__in IWebBrowser2 * This, + /* [in] */ DWORD cmdID, + /* [in] */ DWORD cmdexecopt, + /* [unique][optional][in] */ __RPC__in_opt VARIANT *pvaIn, + /* [unique][optional][out][in] */ __RPC__inout_opt VARIANT *pvaOut); + + /* [helpcontext][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ShowBrowserBar )( + __RPC__in IWebBrowser2 * This, + /* [in] */ __RPC__in VARIANT *pvaClsid, + /* [unique][optional][in] */ __RPC__in_opt VARIANT *pvarShow, + /* [unique][optional][in] */ __RPC__in_opt VARIANT *pvarSize); + + /* [bindable][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReadyState )( + __RPC__in IWebBrowser2 * This, + /* [out][retval] */ __RPC__out DWORD *plReadyState); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Offline )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *pbOffline); + + /* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Offline )( + __RPC__in IWebBrowser2 * This, + /* [in] */ VARIANT_BOOL bOffline); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Silent )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *pbSilent); + + /* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Silent )( + __RPC__in IWebBrowser2 * This, + /* [in] */ VARIANT_BOOL bSilent); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RegisterAsBrowser )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *pbRegister); + + /* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RegisterAsBrowser )( + __RPC__in IWebBrowser2 * This, + /* [in] */ VARIANT_BOOL bRegister); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RegisterAsDropTarget )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *pbRegister); + + /* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_RegisterAsDropTarget )( + __RPC__in IWebBrowser2 * This, + /* [in] */ VARIANT_BOOL bRegister); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TheaterMode )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *pbRegister); + + /* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TheaterMode )( + __RPC__in IWebBrowser2 * This, + /* [in] */ VARIANT_BOOL bRegister); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AddressBar )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *Value); + + /* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_AddressBar )( + __RPC__in IWebBrowser2 * This, + /* [in] */ VARIANT_BOOL Value); + + /* [helpcontext][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Resizable )( + __RPC__in IWebBrowser2 * This, + /* [retval][out] */ __RPC__out VARIANT_BOOL *Value); + + /* [helpcontext][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Resizable )( + __RPC__in IWebBrowser2 * This, + /* [in] */ VARIANT_BOOL Value); + + END_INTERFACE + } IWebBrowser2Vtbl; \ No newline at end of file diff --git a/ctypes_generation/definitions/defines/bits.txt b/ctypes_generation/definitions/defines/bits.txt new file mode 100644 index 0000000..5adc071 --- /dev/null +++ b/ctypes_generation/definitions/defines/bits.txt @@ -0,0 +1,7 @@ +#define BG_JOB_ENUM_ALL_USERS 0x0001 + +#define BG_NOTIFY_JOB_TRANSFERRED 0x0001 +#define BG_NOTIFY_JOB_ERROR 0x0002 +#define BG_NOTIFY_DISABLE 0x0004 +#define BG_NOTIFY_JOB_MODIFICATION 0x0008 +#define BG_NOTIFY_FILE_TRANSFERRED 0x0010 \ No newline at end of file diff --git a/ctypes_generation/definitions/defines/comdef.txt b/ctypes_generation/definitions/defines/comdef.txt index 53c2ac6..954ce4c 100644 --- a/ctypes_generation/definitions/defines/comdef.txt +++ b/ctypes_generation/definitions/defines/comdef.txt @@ -1,5 +1,7 @@ #define CWCSTORAGENAME 32 +#define RPC_E_CHANGED_MODE 0x80010106L + /* Storage instantiation modes */ #define STGM_DIRECT 0x00000000L #define STGM_TRANSACTED 0x00010000L diff --git a/ctypes_generation/definitions/defines/szOID.txt b/ctypes_generation/definitions/defines/szOID.txt new file mode 100644 index 0000000..0cd8076 --- /dev/null +++ b/ctypes_generation/definitions/defines/szOID.txt @@ -0,0 +1,207 @@ +// +// CTL Trusted CA Lists +// +#define szOID_TRUSTED_CODESIGNING_CA_LIST "1.3.6.1.4.1.311.2.2.1" +#define szOID_TRUSTED_CLIENT_AUTH_CA_LIST "1.3.6.1.4.1.311.2.2.2" +#define szOID_TRUSTED_SERVER_AUTH_CA_LIST "1.3.6.1.4.1.311.2.2.3" + +#define szOID_RSA "1.2.840.113549" +#define szOID_PKCS "1.2.840.113549.1" +#define szOID_RSA_HASH "1.2.840.113549.2" +#define szOID_RSA_ENCRYPT "1.2.840.113549.3" +#define szOID_PKCS_1 "1.2.840.113549.1.1" +#define szOID_PKCS_2 "1.2.840.113549.1.2" +#define szOID_PKCS_3 "1.2.840.113549.1.3" +#define szOID_PKCS_4 "1.2.840.113549.1.4" +#define szOID_PKCS_5 "1.2.840.113549.1.5" +#define szOID_PKCS_6 "1.2.840.113549.1.6" +#define szOID_PKCS_7 "1.2.840.113549.1.7" +#define szOID_PKCS_8 "1.2.840.113549.1.8" +#define szOID_PKCS_9 "1.2.840.113549.1.9" +#define szOID_PKCS_10 "1.2.840.113549.1.10" +#define szOID_PKCS_12 "1.2.840.113549.1.12" +#define szOID_RSA_RSA "1.2.840.113549.1.1.1" +#define szOID_RSA_MD2RSA "1.2.840.113549.1.1.2" +#define szOID_RSA_MD4RSA "1.2.840.113549.1.1.3" +#define szOID_RSA_MD5RSA "1.2.840.113549.1.1.4" +#define szOID_RSA_SHA1RSA "1.2.840.113549.1.1.5" +#define szOID_RSA_SETOAEP_RSA "1.2.840.113549.1.1.6" +#define szOID_RSAES_OAEP "1.2.840.113549.1.1.7" +#define szOID_RSA_MGF1 "1.2.840.113549.1.1.8" +#define szOID_RSA_PSPECIFIED "1.2.840.113549.1.1.9" +#define szOID_RSA_SSA_PSS "1.2.840.113549.1.1.10" +#define szOID_RSA_SHA256RSA "1.2.840.113549.1.1.11" +#define szOID_RSA_SHA384RSA "1.2.840.113549.1.1.12" +#define szOID_RSA_SHA512RSA "1.2.840.113549.1.1.13" +#define szOID_RSA_DH "1.2.840.113549.1.3.1" +#define szOID_RSA_data "1.2.840.113549.1.7.1" +#define szOID_RSA_signedData "1.2.840.113549.1.7.2" +#define szOID_RSA_envelopedData "1.2.840.113549.1.7.3" +#define szOID_RSA_signEnvData "1.2.840.113549.1.7.4" +#define szOID_RSA_digestedData "1.2.840.113549.1.7.5" +#define szOID_RSA_hashedData "1.2.840.113549.1.7.5" +#define szOID_RSA_encryptedData "1.2.840.113549.1.7.6" +#define szOID_RSA_emailAddr "1.2.840.113549.1.9.1" +#define szOID_RSA_unstructName "1.2.840.113549.1.9.2" +#define szOID_RSA_contentType "1.2.840.113549.1.9.3" +#define szOID_RSA_messageDigest "1.2.840.113549.1.9.4" +#define szOID_RSA_signingTime "1.2.840.113549.1.9.5" +#define szOID_RSA_counterSign "1.2.840.113549.1.9.6" +#define szOID_RSA_challengePwd "1.2.840.113549.1.9.7" +#define szOID_RSA_unstructAddr "1.2.840.113549.1.9.8" +#define szOID_RSA_extCertAttrs "1.2.840.113549.1.9.9" +#define szOID_RSA_certExtensions "1.2.840.113549.1.9.14" +#define szOID_RSA_SMIMECapabilities "1.2.840.113549.1.9.15" +#define szOID_RSA_preferSignedData "1.2.840.113549.1.9.15.1" +#define szOID_TIMESTAMP_TOKEN "1.2.840.113549.1.9.16.1.4" +#define szOID_RFC3161_counterSign "1.3.6.1.4.1.311.3.3.1" +#define szOID_RSA_SMIMEalg "1.2.840.113549.1.9.16.3" +#define szOID_RSA_SMIMEalgESDH "1.2.840.113549.1.9.16.3.5" +#define szOID_RSA_SMIMEalgCMS3DESwrap "1.2.840.113549.1.9.16.3.6" +#define szOID_RSA_SMIMEalgCMSRC2wrap "1.2.840.113549.1.9.16.3.7" + +#define szOID_RSA_MD2 "1.2.840.113549.2.2" +#define szOID_RSA_MD4 "1.2.840.113549.2.4" +#define szOID_RSA_MD5 "1.2.840.113549.2.5" +#define szOID_RSA_RC2CBC "1.2.840.113549.3.2" +#define szOID_RSA_RC4 "1.2.840.113549.3.4" +#define szOID_RSA_DES_EDE3_CBC "1.2.840.113549.3.7" +#define szOID_RSA_RC5_CBCPad "1.2.840.113549.3.9" +#define szOID_ANSI_X942 "1.2.840.10046" +#define szOID_ANSI_X942_DH "1.2.840.10046.2.1" +#define szOID_X957 "1.2.840.10040" +#define szOID_X957_DSA "1.2.840.10040.4.1" +#define szOID_X957_SHA1DSA "1.2.840.10040.4.3" +#define szOID_ECC_PUBLIC_KEY "1.2.840.10045.2.1" +#define szOID_ECC_CURVE_P256 "1.2.840.10045.3.1.7" +#define szOID_ECC_CURVE_P384 "1.3.132.0.34" +#define szOID_ECC_CURVE_P521 "1.3.132.0.35" +#define szOID_ECDSA_SHA1 "1.2.840.10045.4.1" +#define szOID_ECDSA_SPECIFIED "1.2.840.10045.4.3" +#define szOID_ECDSA_SHA256 "1.2.840.10045.4.3.2" +#define szOID_ECDSA_SHA384 "1.2.840.10045.4.3.3" +#define szOID_ECDSA_SHA512 "1.2.840.10045.4.3.4" +#define szOID_NIST_AES128_CBC "2.16.840.1.101.3.4.1.2" +#define szOID_NIST_AES192_CBC "2.16.840.1.101.3.4.1.22" +#define szOID_NIST_AES256_CBC "2.16.840.1.101.3.4.1.42" +#define szOID_NIST_AES128_WRAP "2.16.840.1.101.3.4.1.5" +#define szOID_NIST_AES192_WRAP "2.16.840.1.101.3.4.1.25" +#define szOID_NIST_AES256_WRAP "2.16.840.1.101.3.4.1.45" +#define szOID_DH_SINGLE_PASS_STDDH_SHA1_KDF "1.3.133.16.840.63.0.2" +#define szOID_DH_SINGLE_PASS_STDDH_SHA256_KDF "1.3.132.1.11.1" +#define szOID_DH_SINGLE_PASS_STDDH_SHA384_KDF "1.3.132.1.11.2" +#define szOID_DS "2.5" +#define szOID_DSALG "2.5.8" +#define szOID_DSALG_CRPT "2.5.8.1" +#define szOID_DSALG_HASH "2.5.8.2" +#define szOID_DSALG_SIGN "2.5.8.3" +#define szOID_DSALG_RSA "2.5.8.1.1" +#define szOID_OIW "1.3.14" +#define szOID_OIWSEC "1.3.14.3.2" +#define szOID_OIWSEC_md4RSA "1.3.14.3.2.2" +#define szOID_OIWSEC_md5RSA "1.3.14.3.2.3" +#define szOID_OIWSEC_md4RSA2 "1.3.14.3.2.4" +#define szOID_OIWSEC_desECB "1.3.14.3.2.6" +#define szOID_OIWSEC_desCBC "1.3.14.3.2.7" +#define szOID_OIWSEC_desOFB "1.3.14.3.2.8" +#define szOID_OIWSEC_desCFB "1.3.14.3.2.9" +#define szOID_OIWSEC_desMAC "1.3.14.3.2.10" +#define szOID_OIWSEC_rsaSign "1.3.14.3.2.11" +#define szOID_OIWSEC_dsa "1.3.14.3.2.12" +#define szOID_OIWSEC_shaDSA "1.3.14.3.2.13" +#define szOID_OIWSEC_mdc2RSA "1.3.14.3.2.14" +#define szOID_OIWSEC_shaRSA "1.3.14.3.2.15" +#define szOID_OIWSEC_dhCommMod "1.3.14.3.2.16" +#define szOID_OIWSEC_desEDE "1.3.14.3.2.17" +#define szOID_OIWSEC_sha "1.3.14.3.2.18" +#define szOID_OIWSEC_mdc2 "1.3.14.3.2.19" +#define szOID_OIWSEC_dsaComm "1.3.14.3.2.20" +#define szOID_OIWSEC_dsaCommSHA "1.3.14.3.2.21" +#define szOID_OIWSEC_rsaXchg "1.3.14.3.2.22" +#define szOID_OIWSEC_keyHashSeal "1.3.14.3.2.23" +#define szOID_OIWSEC_md2RSASign "1.3.14.3.2.24" +#define szOID_OIWSEC_md5RSASign "1.3.14.3.2.25" +#define szOID_OIWSEC_sha1 "1.3.14.3.2.26" +#define szOID_OIWSEC_dsaSHA1 "1.3.14.3.2.27" +#define szOID_OIWSEC_dsaCommSHA1 "1.3.14.3.2.28" +#define szOID_OIWSEC_sha1RSASign "1.3.14.3.2.29" +#define szOID_OIWDIR "1.3.14.7.2" +#define szOID_OIWDIR_CRPT "1.3.14.7.2.1" +#define szOID_OIWDIR_HASH "1.3.14.7.2.2" +#define szOID_OIWDIR_SIGN "1.3.14.7.2.3" +#define szOID_OIWDIR_md2 "1.3.14.7.2.2.1" +#define szOID_OIWDIR_md2RSA "1.3.14.7.2.3.1" +#define szOID_INFOSEC "2.16.840.1.101.2.1" +#define szOID_INFOSEC_sdnsSignature "2.16.840.1.101.2.1.1.1" +#define szOID_INFOSEC_mosaicSignature "2.16.840.1.101.2.1.1.2" +#define szOID_INFOSEC_sdnsConfidentiality "2.16.840.1.101.2.1.1.3" +#define szOID_INFOSEC_mosaicConfidentiality "2.16.840.1.101.2.1.1.4" +#define szOID_INFOSEC_sdnsIntegrity "2.16.840.1.101.2.1.1.5" +#define szOID_INFOSEC_mosaicIntegrity "2.16.840.1.101.2.1.1.6" +#define szOID_INFOSEC_sdnsTokenProtection "2.16.840.1.101.2.1.1.7" +#define szOID_INFOSEC_mosaicTokenProtection "2.16.840.1.101.2.1.1.8" +#define szOID_INFOSEC_sdnsKeyManagement "2.16.840.1.101.2.1.1.9" +#define szOID_INFOSEC_mosaicKeyManagement "2.16.840.1.101.2.1.1.10" +#define szOID_INFOSEC_sdnsKMandSig "2.16.840.1.101.2.1.1.11" +#define szOID_INFOSEC_mosaicKMandSig "2.16.840.1.101.2.1.1.12" +#define szOID_INFOSEC_SuiteASignature "2.16.840.1.101.2.1.1.13" +#define szOID_INFOSEC_SuiteAConfidentiality "2.16.840.1.101.2.1.1.14" +#define szOID_INFOSEC_SuiteAIntegrity "2.16.840.1.101.2.1.1.15" +#define szOID_INFOSEC_SuiteATokenProtection "2.16.840.1.101.2.1.1.16" +#define szOID_INFOSEC_SuiteAKeyManagement "2.16.840.1.101.2.1.1.17" +#define szOID_INFOSEC_SuiteAKMandSig "2.16.840.1.101.2.1.1.18" +#define szOID_INFOSEC_mosaicUpdatedSig "2.16.840.1.101.2.1.1.19" +#define szOID_INFOSEC_mosaicKMandUpdSig "2.16.840.1.101.2.1.1.20" +#define szOID_INFOSEC_mosaicUpdatedInteg "2.16.840.1.101.2.1.1.21" +#define szOID_NIST_sha256 "2.16.840.1.101.3.4.2.1" +#define szOID_NIST_sha384 "2.16.840.1.101.3.4.2.2" +#define szOID_NIST_sha512 "2.16.840.1.101.3.4.2.3" + + +// +// Page hash versions +// +#define SPC_PE_IMAGE_PAGE_HASHES_V1_OBJID "1.3.6.1.4.1.311.2.3.1" // V1 +#define SPC_PE_IMAGE_PAGE_HASHES_V2_OBJID "1.3.6.1.4.1.311.2.3.2" // V2 + +//Indicates the attribute is an octet encoded PKCS7 +#define szOID_NESTED_SIGNATURE "1.3.6.1.4.1.311.2.4.1" +#define szOID_INTENT_TO_SEAL "1.3.6.1.4.1.311.2.4.2" +#define szOID_SEALING_SIGNATURE "1.3.6.1.4.1.311.2.4.3" +#define szOID_SEALING_TIMESTAMP "1.3.6.1.4.1.311.2.4.4" + +//Indicates an enhanced hash for a SIP Indirect Data +#define szOID_ENHANCED_HASH "1.3.6.1.4.1.311.2.5.1" + +//Indicates a PKCS9 sequence number as an attribute +#define szOID_PKCS_9_SEQUENCE_NUMBER "1.2.840.113549.1.9.25.4" + +// +// Catalog entries +// +#define CAT_NAMEVALUE_OBJID "1.3.6.1.4.1.311.12.2.1" +#define CAT_MEMBERINFO_OBJID "1.3.6.1.4.1.311.12.2.2" +#define CAT_MEMBERINFO2_OBJID "1.3.6.1.4.1.311.12.2.3" + + +// +#define szOID_COMMON_NAME "2.5.4.3" // case-ignore string +#define SPC_COMMON_NAME_OBJID szOID_COMMON_NAME +#define SPC_TIME_STAMP_REQUEST_OBJID "1.3.6.1.4.1.311.3.2.1" +#define SPC_INDIRECT_DATA_OBJID "1.3.6.1.4.1.311.2.1.4" +#define SPC_SP_AGENCY_INFO_OBJID "1.3.6.1.4.1.311.2.1.10" +#define SPC_STATEMENT_TYPE_OBJID "1.3.6.1.4.1.311.2.1.11" +#define SPC_SP_OPUS_INFO_OBJID "1.3.6.1.4.1.311.2.1.12" +#define SPC_CERT_EXTENSIONS_OBJID "1.3.6.1.4.1.311.2.1.14" +#define SPC_PE_IMAGE_DATA_OBJID "1.3.6.1.4.1.311.2.1.15" +#define SPC_RAW_FILE_DATA_OBJID "1.3.6.1.4.1.311.2.1.18" +#define SPC_STRUCTURED_STORAGE_DATA_OBJID "1.3.6.1.4.1.311.2.1.19" +#define SPC_JAVA_CLASS_DATA_OBJID "1.3.6.1.4.1.311.2.1.20" +#define SPC_INDIVIDUAL_SP_KEY_PURPOSE_OBJID "1.3.6.1.4.1.311.2.1.21" +#define SPC_COMMERCIAL_SP_KEY_PURPOSE_OBJID "1.3.6.1.4.1.311.2.1.22" +#define SPC_CAB_DATA_OBJID "1.3.6.1.4.1.311.2.1.25" +#define SPC_GLUE_RDN_OBJID "1.3.6.1.4.1.311.2.1.25" // obsolete! +#define SPC_MINIMAL_CRITERIA_OBJID "1.3.6.1.4.1.311.2.1.26" +#define SPC_FINANCIAL_CRITERIA_OBJID "1.3.6.1.4.1.311.2.1.27" +#define SPC_LINK_OBJID "1.3.6.1.4.1.311.2.1.28" +#define SPC_SIGINFO_OBJID "1.3.6.1.4.1.311.2.1.30" \ No newline at end of file diff --git a/ctypes_generation/definitions/defines/windef_error.txt b/ctypes_generation/definitions/defines/windef_error.txt index cb92ec2..1feec9d 100644 --- a/ctypes_generation/definitions/defines/windef_error.txt +++ b/ctypes_generation/definitions/defines/windef_error.txt @@ -503,6 +503,11 @@ #define RPC_S_UNSUPPORTED_TRANS_SYN 1730 #define RPC_S_PROCNUM_OUT_OF_RANGE 1745 +#define ERROR_RESOURCE_DATA_NOT_FOUND 1812L +#define ERROR_RESOURCE_TYPE_NOT_FOUND 1813L +#define ERROR_RESOURCE_NAME_NOT_FOUND 1814L +#define ERROR_RESOURCE_LANG_NOT_FOUND 1815L + #define ERROR_INVALID_TRANSACTION 6700 #define ERROR_TRANSACTION_NOT_ACTIVE 6701 #define ERROR_TRANSACTION_REQUEST_NOT_VALID 6702 @@ -558,4 +563,11 @@ #define NTE_DECRYPTION_FAILURE (0x8009002C) #define NTE_INTERNAL_ERROR (0x8009002D) #define NTE_UI_REQUIRED (0x8009002E) -#define NTE_HMAC_NOT_SUPPORTED (0x8009002F) \ No newline at end of file +#define NTE_HMAC_NOT_SUPPORTED (0x8009002F) + +// Autres +#define E_UNEXPECTED (0x8000FFFFL) + +// RPC/COM Erros +#define RPC_E_INVALID_OBJREF 0x8001011D +#define RPC_E_ACCESS_DENIED 0x8001011B diff --git a/ctypes_generation/definitions/defines/wintrust_crypt_def.txt b/ctypes_generation/definitions/defines/wintrust_crypt_def.txt index 20d0e19..d7b59a6 100644 --- a/ctypes_generation/definitions/defines/wintrust_crypt_def.txt +++ b/ctypes_generation/definitions/defines/wintrust_crypt_def.txt @@ -335,160 +335,6 @@ #define CERT_STORE_PROV_LDAP CERT_STORE_PROV_LDAP_W #define CERT_STORE_PROV_PKCS12 (17) - -#define szOID_RSA "1.2.840.113549" -#define szOID_PKCS "1.2.840.113549.1" -#define szOID_RSA_HASH "1.2.840.113549.2" -#define szOID_RSA_ENCRYPT "1.2.840.113549.3" -#define szOID_PKCS_1 "1.2.840.113549.1.1" -#define szOID_PKCS_2 "1.2.840.113549.1.2" -#define szOID_PKCS_3 "1.2.840.113549.1.3" -#define szOID_PKCS_4 "1.2.840.113549.1.4" -#define szOID_PKCS_5 "1.2.840.113549.1.5" -#define szOID_PKCS_6 "1.2.840.113549.1.6" -#define szOID_PKCS_7 "1.2.840.113549.1.7" -#define szOID_PKCS_8 "1.2.840.113549.1.8" -#define szOID_PKCS_9 "1.2.840.113549.1.9" -#define szOID_PKCS_10 "1.2.840.113549.1.10" -#define szOID_PKCS_12 "1.2.840.113549.1.12" -#define szOID_RSA_RSA "1.2.840.113549.1.1.1" -#define szOID_RSA_MD2RSA "1.2.840.113549.1.1.2" -#define szOID_RSA_MD4RSA "1.2.840.113549.1.1.3" -#define szOID_RSA_MD5RSA "1.2.840.113549.1.1.4" -#define szOID_RSA_SHA1RSA "1.2.840.113549.1.1.5" -#define szOID_RSA_SETOAEP_RSA "1.2.840.113549.1.1.6" -#define szOID_RSAES_OAEP "1.2.840.113549.1.1.7" -#define szOID_RSA_MGF1 "1.2.840.113549.1.1.8" -#define szOID_RSA_PSPECIFIED "1.2.840.113549.1.1.9" -#define szOID_RSA_SSA_PSS "1.2.840.113549.1.1.10" -#define szOID_RSA_SHA256RSA "1.2.840.113549.1.1.11" -#define szOID_RSA_SHA384RSA "1.2.840.113549.1.1.12" -#define szOID_RSA_SHA512RSA "1.2.840.113549.1.1.13" -#define szOID_RSA_DH "1.2.840.113549.1.3.1" -#define szOID_RSA_data "1.2.840.113549.1.7.1" -#define szOID_RSA_signedData "1.2.840.113549.1.7.2" -#define szOID_RSA_envelopedData "1.2.840.113549.1.7.3" -#define szOID_RSA_signEnvData "1.2.840.113549.1.7.4" -#define szOID_RSA_digestedData "1.2.840.113549.1.7.5" -#define szOID_RSA_hashedData "1.2.840.113549.1.7.5" -#define szOID_RSA_encryptedData "1.2.840.113549.1.7.6" -#define szOID_RSA_emailAddr "1.2.840.113549.1.9.1" -#define szOID_RSA_unstructName "1.2.840.113549.1.9.2" -#define szOID_RSA_contentType "1.2.840.113549.1.9.3" -#define szOID_RSA_messageDigest "1.2.840.113549.1.9.4" -#define szOID_RSA_signingTime "1.2.840.113549.1.9.5" -#define szOID_RSA_counterSign "1.2.840.113549.1.9.6" -#define szOID_RSA_challengePwd "1.2.840.113549.1.9.7" -#define szOID_RSA_unstructAddr "1.2.840.113549.1.9.8" -#define szOID_RSA_extCertAttrs "1.2.840.113549.1.9.9" -#define szOID_RSA_certExtensions "1.2.840.113549.1.9.14" -#define szOID_RSA_SMIMECapabilities "1.2.840.113549.1.9.15" -#define szOID_RSA_preferSignedData "1.2.840.113549.1.9.15.1" -#define szOID_TIMESTAMP_TOKEN "1.2.840.113549.1.9.16.1.4" -#define szOID_RFC3161_counterSign "1.3.6.1.4.1.311.3.3.1" -#define szOID_RSA_SMIMEalg "1.2.840.113549.1.9.16.3" -#define szOID_RSA_SMIMEalgESDH "1.2.840.113549.1.9.16.3.5" -#define szOID_RSA_SMIMEalgCMS3DESwrap "1.2.840.113549.1.9.16.3.6" -#define szOID_RSA_SMIMEalgCMSRC2wrap "1.2.840.113549.1.9.16.3.7" - -#define szOID_RSA_MD2 "1.2.840.113549.2.2" -#define szOID_RSA_MD4 "1.2.840.113549.2.4" -#define szOID_RSA_MD5 "1.2.840.113549.2.5" -#define szOID_RSA_RC2CBC "1.2.840.113549.3.2" -#define szOID_RSA_RC4 "1.2.840.113549.3.4" -#define szOID_RSA_DES_EDE3_CBC "1.2.840.113549.3.7" -#define szOID_RSA_RC5_CBCPad "1.2.840.113549.3.9" -#define szOID_ANSI_X942 "1.2.840.10046" -#define szOID_ANSI_X942_DH "1.2.840.10046.2.1" -#define szOID_X957 "1.2.840.10040" -#define szOID_X957_DSA "1.2.840.10040.4.1" -#define szOID_X957_SHA1DSA "1.2.840.10040.4.3" -#define szOID_ECC_PUBLIC_KEY "1.2.840.10045.2.1" -#define szOID_ECC_CURVE_P256 "1.2.840.10045.3.1.7" -#define szOID_ECC_CURVE_P384 "1.3.132.0.34" -#define szOID_ECC_CURVE_P521 "1.3.132.0.35" -#define szOID_ECDSA_SHA1 "1.2.840.10045.4.1" -#define szOID_ECDSA_SPECIFIED "1.2.840.10045.4.3" -#define szOID_ECDSA_SHA256 "1.2.840.10045.4.3.2" -#define szOID_ECDSA_SHA384 "1.2.840.10045.4.3.3" -#define szOID_ECDSA_SHA512 "1.2.840.10045.4.3.4" -#define szOID_NIST_AES128_CBC "2.16.840.1.101.3.4.1.2" -#define szOID_NIST_AES192_CBC "2.16.840.1.101.3.4.1.22" -#define szOID_NIST_AES256_CBC "2.16.840.1.101.3.4.1.42" -#define szOID_NIST_AES128_WRAP "2.16.840.1.101.3.4.1.5" -#define szOID_NIST_AES192_WRAP "2.16.840.1.101.3.4.1.25" -#define szOID_NIST_AES256_WRAP "2.16.840.1.101.3.4.1.45" -#define szOID_DH_SINGLE_PASS_STDDH_SHA1_KDF "1.3.133.16.840.63.0.2" -#define szOID_DH_SINGLE_PASS_STDDH_SHA256_KDF "1.3.132.1.11.1" -#define szOID_DH_SINGLE_PASS_STDDH_SHA384_KDF "1.3.132.1.11.2" -#define szOID_DS "2.5" -#define szOID_DSALG "2.5.8" -#define szOID_DSALG_CRPT "2.5.8.1" -#define szOID_DSALG_HASH "2.5.8.2" -#define szOID_DSALG_SIGN "2.5.8.3" -#define szOID_DSALG_RSA "2.5.8.1.1" -#define szOID_OIW "1.3.14" -#define szOID_OIWSEC "1.3.14.3.2" -#define szOID_OIWSEC_md4RSA "1.3.14.3.2.2" -#define szOID_OIWSEC_md5RSA "1.3.14.3.2.3" -#define szOID_OIWSEC_md4RSA2 "1.3.14.3.2.4" -#define szOID_OIWSEC_desECB "1.3.14.3.2.6" -#define szOID_OIWSEC_desCBC "1.3.14.3.2.7" -#define szOID_OIWSEC_desOFB "1.3.14.3.2.8" -#define szOID_OIWSEC_desCFB "1.3.14.3.2.9" -#define szOID_OIWSEC_desMAC "1.3.14.3.2.10" -#define szOID_OIWSEC_rsaSign "1.3.14.3.2.11" -#define szOID_OIWSEC_dsa "1.3.14.3.2.12" -#define szOID_OIWSEC_shaDSA "1.3.14.3.2.13" -#define szOID_OIWSEC_mdc2RSA "1.3.14.3.2.14" -#define szOID_OIWSEC_shaRSA "1.3.14.3.2.15" -#define szOID_OIWSEC_dhCommMod "1.3.14.3.2.16" -#define szOID_OIWSEC_desEDE "1.3.14.3.2.17" -#define szOID_OIWSEC_sha "1.3.14.3.2.18" -#define szOID_OIWSEC_mdc2 "1.3.14.3.2.19" -#define szOID_OIWSEC_dsaComm "1.3.14.3.2.20" -#define szOID_OIWSEC_dsaCommSHA "1.3.14.3.2.21" -#define szOID_OIWSEC_rsaXchg "1.3.14.3.2.22" -#define szOID_OIWSEC_keyHashSeal "1.3.14.3.2.23" -#define szOID_OIWSEC_md2RSASign "1.3.14.3.2.24" -#define szOID_OIWSEC_md5RSASign "1.3.14.3.2.25" -#define szOID_OIWSEC_sha1 "1.3.14.3.2.26" -#define szOID_OIWSEC_dsaSHA1 "1.3.14.3.2.27" -#define szOID_OIWSEC_dsaCommSHA1 "1.3.14.3.2.28" -#define szOID_OIWSEC_sha1RSASign "1.3.14.3.2.29" -#define szOID_OIWDIR "1.3.14.7.2" -#define szOID_OIWDIR_CRPT "1.3.14.7.2.1" -#define szOID_OIWDIR_HASH "1.3.14.7.2.2" -#define szOID_OIWDIR_SIGN "1.3.14.7.2.3" -#define szOID_OIWDIR_md2 "1.3.14.7.2.2.1" -#define szOID_OIWDIR_md2RSA "1.3.14.7.2.3.1" -#define szOID_INFOSEC "2.16.840.1.101.2.1" -#define szOID_INFOSEC_sdnsSignature "2.16.840.1.101.2.1.1.1" -#define szOID_INFOSEC_mosaicSignature "2.16.840.1.101.2.1.1.2" -#define szOID_INFOSEC_sdnsConfidentiality "2.16.840.1.101.2.1.1.3" -#define szOID_INFOSEC_mosaicConfidentiality "2.16.840.1.101.2.1.1.4" -#define szOID_INFOSEC_sdnsIntegrity "2.16.840.1.101.2.1.1.5" -#define szOID_INFOSEC_mosaicIntegrity "2.16.840.1.101.2.1.1.6" -#define szOID_INFOSEC_sdnsTokenProtection "2.16.840.1.101.2.1.1.7" -#define szOID_INFOSEC_mosaicTokenProtection "2.16.840.1.101.2.1.1.8" -#define szOID_INFOSEC_sdnsKeyManagement "2.16.840.1.101.2.1.1.9" -#define szOID_INFOSEC_mosaicKeyManagement "2.16.840.1.101.2.1.1.10" -#define szOID_INFOSEC_sdnsKMandSig "2.16.840.1.101.2.1.1.11" -#define szOID_INFOSEC_mosaicKMandSig "2.16.840.1.101.2.1.1.12" -#define szOID_INFOSEC_SuiteASignature "2.16.840.1.101.2.1.1.13" -#define szOID_INFOSEC_SuiteAConfidentiality "2.16.840.1.101.2.1.1.14" -#define szOID_INFOSEC_SuiteAIntegrity "2.16.840.1.101.2.1.1.15" -#define szOID_INFOSEC_SuiteATokenProtection "2.16.840.1.101.2.1.1.16" -#define szOID_INFOSEC_SuiteAKeyManagement "2.16.840.1.101.2.1.1.17" -#define szOID_INFOSEC_SuiteAKMandSig "2.16.840.1.101.2.1.1.18" -#define szOID_INFOSEC_mosaicUpdatedSig "2.16.840.1.101.2.1.1.19" -#define szOID_INFOSEC_mosaicKMandUpdSig "2.16.840.1.101.2.1.1.20" -#define szOID_INFOSEC_mosaicUpdatedInteg "2.16.840.1.101.2.1.1.21" -#define szOID_NIST_sha256 "2.16.840.1.101.3.4.2.1" -#define szOID_NIST_sha384 "2.16.840.1.101.3.4.2.2" -#define szOID_NIST_sha512 "2.16.840.1.101.3.4.2.3" - - #define CRYPT_E_NOT_FOUND (0x80092004L) diff --git a/ctypes_generation/definitions/functions/com.txt b/ctypes_generation/definitions/functions/com.txt index f4f148e..0f54a61 100644 --- a/ctypes_generation/definitions/functions/com.txt +++ b/ctypes_generation/definitions/functions/com.txt @@ -32,6 +32,14 @@ HRESULT WINAPI CoCreateInstanceEx( _Inout_ MULTI_QI *pResults ); +HRESULT CoGetClassObject( + REFCLSID rclsid, + DWORD dwClsContext, + LPVOID pvReserved, + REFIID riid, + LPVOID *ppv +); + HRESULT WINAPI CoGetInterceptor( _In_ REFIID iidIntercepted, @@ -44,4 +52,8 @@ HRESULT WINAPI CoGetInterceptor( HRESULT WINAPI CLSIDFromProgID( _In_ LPCOLESTR lpszProgID, _Out_ LPCLSID lpclsid +); + +PVOID CoTaskMemFree( + LPVOID pv ); \ No newline at end of file diff --git a/ctypes_generation/definitions/functions/dbghelp.txt b/ctypes_generation/definitions/functions/dbghelp.txt index 4aeed44..e69de29 100644 --- a/ctypes_generation/definitions/functions/dbghelp.txt +++ b/ctypes_generation/definitions/functions/dbghelp.txt @@ -1,37 +0,0 @@ -DWORD64 WINAPI SymLoadModuleExA( - _In_ HANDLE hProcess, - _In_ HANDLE hFile, - _In_ PCSTR ImageName, - _In_ PCSTR ModuleName, - _In_ DWORD64 BaseOfDll, - _In_ DWORD DllSize, - _In_ PMODLOAD_DATA Data, - _In_ DWORD Flags -); - - -DWORD64 WINAPI SymLoadModuleExW( - _In_ HANDLE hProcess, - _In_ HANDLE hFile, - _In_ PCWSTR ImageName, - _In_ PCWSTR ModuleName, - _In_ DWORD64 BaseOfDll, - _In_ DWORD DllSize, - _In_ PMODLOAD_DATA Data, - _In_ DWORD Flags -); - - -BOOL WINAPI SymFromAddr( - _In_ HANDLE hProcess, - _In_ DWORD64 Address, - _Out_opt_ PDWORD64 Displacement, - _Inout_ PSYMBOL_INFO Symbol -); - - -BOOL WINAPI SymGetModuleInfo64( - _In_ HANDLE hProcess, - _In_ DWORD64 dwAddr, - _Out_ PIMAGEHLP_MODULE64 ModuleInfo -); \ No newline at end of file diff --git a/ctypes_generation/definitions/functions/winfunc.txt b/ctypes_generation/definitions/functions/winfunc.txt index c7c42a9..70fc73f 100644 --- a/ctypes_generation/definitions/functions/winfunc.txt +++ b/ctypes_generation/definitions/functions/winfunc.txt @@ -702,40 +702,7 @@ HMODULE WINAPI LoadLibraryExW( _In_ DWORD dwFlags ); -BOOL WINAPI SymInitialize( - _In_ HANDLE hProcess, - _In_opt_ LPCSTR UserSearchPath, - _In_ BOOL fInvadeProcess -); -BOOL WINAPI SymFromName( - _In_ HANDLE hProcess, - _In_ LPCSTR Name, - _Inout_ PSYMBOL_INFO Symbol -); - -DWORD64 WINAPI SymLoadModuleEx( - _In_ HANDLE hProcess, - _In_ HANDLE hFile, - _In_ LPCSTR ImageName, - _In_ LPCSTR ModuleName, - _In_ DWORD64 BaseOfDll, - _In_ DWORD DllSize, - _In_ PMODLOAD_DATA Data, - _In_ DWORD Flags -); - -DWORD WINAPI SymSetOptions( - _In_ DWORD SymOptions -); - -BOOL WINAPI SymGetTypeInfo( - _In_ HANDLE hProcess, - _In_ DWORD64 ModBase, - _In_ ULONG TypeId, - _In_ IMAGEHLP_SYMBOL_TYPE_INFO GetType, - _Out_ PVOID pInfo -); BOOL WINAPI DeviceIoControl( _In_ HANDLE hDevice, diff --git a/ctypes_generation/definitions/simple_types.txt b/ctypes_generation/definitions/simple_types.txt index a418916..c0bf201 100644 --- a/ctypes_generation/definitions/simple_types.txt +++ b/ctypes_generation/definitions/simple_types.txt @@ -6,6 +6,7 @@ SIZE_T = c_size_t PSIZE_T = POINTER(SIZE_T) PVOID = c_void_p NTSTATUS = DWORD +TDHSTATUS = ULONG SECURITY_INFORMATION = DWORD PSECURITY_INFORMATION = POINTER(SECURITY_INFORMATION) PULONG = POINTER(ULONG) @@ -65,7 +66,6 @@ DISPID = LONG MEMBERID = DISPID LRESULT = LONG_PTR LPUNKNOWN = POINTER(PVOID) -LPFILETIME = POINTER(FILETIME) LPPOINT = POINTER(POINT) LPRECT = POINTER(RECT) SPC_UUID = BYTE * 16 @@ -141,6 +141,13 @@ FARPROC = PVOID PIO_APC_ROUTINE = PVOID PVECTORED_EXCEPTION_HANDLER = PVOID PFN_CRYPT_GET_SIGNER_CERTIFICATE = PVOID +PSYM_ENUMERATESYMBOLS_CALLBACK = PVOID +PSYM_ENUMERATESYMBOLS_CALLBACKW = PVOID +PEVENT_CALLBACK = PVOID +PEVENT_TRACE_BUFFER_CALLBACKA = PVOID +PEVENT_TRACE_BUFFER_CALLBACKW = PVOID +PEVENT_RECORD_CALLBACK = PVOID + // Will be changed at import time diff --git a/ctypes_generation/definitions/structures/bits.txt b/ctypes_generation/definitions/structures/bits.txt new file mode 100644 index 0000000..5842995 --- /dev/null +++ b/ctypes_generation/definitions/structures/bits.txt @@ -0,0 +1,39 @@ +typedef enum __MIDL_IBackgroundCopyJob2_0002 { + BG_AUTH_SCHEME_BASIC, + BG_AUTH_SCHEME_DIGEST, + BG_AUTH_SCHEME_NTLM, + BG_AUTH_SCHEME_NEGOTIATE, + BG_AUTH_SCHEME_PASSPORT +} BG_AUTH_SCHEME; + + +typedef enum __MIDL_IBackgroundCopyJob2_0001 { + BG_AUTH_TARGET_SERVER, + BG_AUTH_TARGET_PROXY +} BG_AUTH_TARGET; + + +typedef struct __MIDL_IBackgroundCopyJob2_0003 { + LPWSTR UserName; + LPWSTR Password; +} BG_BASIC_CREDENTIALS; + +typedef union __MIDL_IBackgroundCopyJob2_0004 { + BG_BASIC_CREDENTIALS Basic; +} BG_AUTH_CREDENTIALS_UNION; + +typedef struct { + BG_AUTH_TARGET Target; + BG_AUTH_SCHEME Scheme; + BG_AUTH_CREDENTIALS_UNION Credentials; +} BG_AUTH_CREDENTIALS; + +typedef struct _BG_JOB_REPLY_PROGRESS { + UINT64 BytesTotal; + UINT64 BytesTransferred; +} BG_JOB_REPLY_PROGRESS; + +typedef struct _BG_FILE_RANGE { + UINT64 InitialOffset; + UINT64 Length; +} BG_FILE_RANGE; \ No newline at end of file diff --git a/ctypes_generation/definitions/structures/crypto.txt b/ctypes_generation/definitions/structures/crypto.txt index 36c554e..2517d18 100644 --- a/ctypes_generation/definitions/structures/crypto.txt +++ b/ctypes_generation/definitions/structures/crypto.txt @@ -10,6 +10,7 @@ typedef union TMP_CERT_STRONG_SIGN_PARA_UNION_TYPE { LPSTR pszOID; }; + typedef struct _CERT_STRONG_SIGN_PARA { DWORD cbSize; DWORD dwInfoChoice; @@ -66,7 +67,7 @@ typedef struct CRYPTCATMEMBER_ { LPWSTR pwszFileName; GUID gSubjectType; DWORD fdwMemberFlags; - struct SIP_INDIRECT_DATA *pIndirectData; + SIP_INDIRECT_DATA *pIndirectData; DWORD dwCertVersion; DWORD dwReserved; HANDLE hReserved; @@ -291,11 +292,11 @@ typedef struct WINTRUST_CERT_INFO_ typedef union _TMP_WINTRUST_UNION_TYPE { - struct WINTRUST_FILE_INFO_ *pFile; - struct WINTRUST_CATALOG_INFO_ *pCatalog; - struct WINTRUST_BLOB_INFO_ *pBlob; - struct WINTRUST_SGNR_INFO_ *pSgnr; - struct WINTRUST_CERT_INFO_ *pCert; + WINTRUST_FILE_INFO *pFile; + WINTRUST_CATALOG_INFO *pCatalog; + WINTRUST_BLOB_INFO *pBlob; + WINTRUST_SGNR_INFO *pSgnr; + WINTRUST_CERT_INFO *pCert; } TMP_WINTRUST_UNION_TYPE; @@ -391,9 +392,8 @@ typedef struct SPC_LINK_ typedef struct _SPC_SP_OPUS_INFO { LPCWSTR pwszProgramName; - struct SPC_LINK_ *pMoreInfo; - struct SPC_LINK_ *pPublisherInfo; - + SPC_LINK *pMoreInfo; + SPC_LINK *pPublisherInfo; } SPC_SP_OPUS_INFO, *PSPC_SP_OPUS_INFO; diff --git a/ctypes_generation/definitions/structures/file_info.txt b/ctypes_generation/definitions/structures/file_info.txt index 26633a9..85a6086 100644 --- a/ctypes_generation/definitions/structures/file_info.txt +++ b/ctypes_generation/definitions/structures/file_info.txt @@ -180,8 +180,8 @@ typedef struct _FILE_DISPOSITION_INFORMATION { typedef struct _FILE_FULL_EA_INFORMATION { ULONG NextEntryOffset; - UCHAR Flags; - UCHAR EaNameLength; + BYTE Flags; + BYTE EaNameLength; USHORT EaValueLength; CHAR EaName[1]; } FILE_FULL_EA_INFORMATION, *PFILE_FULL_EA_INFORMATION; @@ -191,4 +191,21 @@ typedef struct _FILE_GET_EA_INFORMATION ULONG NextEntryOffset; UCHAR EaNameLength; CHAR EaName[1]; -} FILE_GET_EA_INFORMATION, *PFILE_GET_EA_INFORMATION; \ No newline at end of file +} FILE_GET_EA_INFORMATION, *PFILE_GET_EA_INFORMATION; + + +typedef struct tagVS_FIXEDFILEINFO { + DWORD dwSignature; + DWORD dwStrucVersion; + DWORD dwFileVersionMS; + DWORD dwFileVersionLS; + DWORD dwProductVersionMS; + DWORD dwProductVersionLS; + DWORD dwFileFlagsMask; + DWORD dwFileFlags; + DWORD dwFileOS; + DWORD dwFileType; + DWORD dwFileSubtype; + DWORD dwFileDateMS; + DWORD dwFileDateLS; +} VS_FIXEDFILEINFO; \ No newline at end of file diff --git a/ctypes_generation/definitions/structures/symbols.txt b/ctypes_generation/definitions/structures/symbols.txt index 66662c9..669fb94 100644 --- a/ctypes_generation/definitions/structures/symbols.txt +++ b/ctypes_generation/definitions/structures/symbols.txt @@ -11,6 +11,80 @@ typedef enum { NumSymTypes } SYM_TYPE; +enum BasicType { + btNoType = 0, + btVoid = 1, + btChar = 2, + btWChar = 3, + btInt = 6, + btUInt = 7, + btFloat = 8, + btBCD = 9, + btBool = 10, + btLong = 13, + btULong = 14, + btCurrency = 25, + btDate = 26, + btVariant = 27, + btComplex = 28, + btBit = 29, + btBSTR = 30, + btHresult = 31 +}; + +enum DataKind { + DataIsUnknown, + DataIsLocal, + DataIsStaticLocal, + DataIsParam, + DataIsObjectPtr, + DataIsFileStatic, + DataIsGlobal, + DataIsMember, + DataIsStaticMember, + DataIsConstant +}; + +enum UdtKind { + UdtStruct, + UdtClass, + UdtUnion +}; + +typedef enum _SymTagEnum { + SymTagNull, + SymTagExe, + SymTagCompiland, + SymTagCompilandDetails, + SymTagCompilandEnv, + SymTagFunction, + SymTagBlock, + SymTagData, + SymTagAnnotation, + SymTagLabel, + SymTagPublicSymbol, + SymTagUDT, + SymTagEnum, + SymTagFunctionType, + SymTagPointerType, + SymTagArrayType, + SymTagBaseType, + SymTagTypedef, + SymTagBaseClass, + SymTagFriend, + SymTagFunctionArgType, + SymTagFuncDebugStart, + SymTagFuncDebugEnd, + SymTagUsingNamespace, + SymTagVTableShape, + SymTagVTable, + SymTagCustom, + SymTagThunk, + SymTagCustomType, + SymTagManagedType, + SymTagDimension +}SymTagEnum; + typedef struct _IMAGEHLP_MODULE64 { DWORD SizeOfStruct; DWORD64 BaseOfImage; @@ -35,4 +109,60 @@ typedef struct _IMAGEHLP_MODULE64 { BOOL TypeInfo; BOOL SourceIndexed; BOOL Publics; -} IMAGEHLP_MODULE64, *PIMAGEHLP_MODULE64; \ No newline at end of file +} IMAGEHLP_MODULE64, *PIMAGEHLP_MODULE64; + + +typedef enum _IMAGEHLP_SYMBOL_TYPE_INFO { + TI_GET_SYMTAG, + TI_GET_SYMNAME, + TI_GET_LENGTH, + TI_GET_TYPE, + TI_GET_TYPEID, + TI_GET_BASETYPE, + TI_GET_ARRAYINDEXTYPEID, + TI_FINDCHILDREN, + TI_GET_DATAKIND, + TI_GET_ADDRESSOFFSET, + TI_GET_OFFSET, + TI_GET_VALUE, + TI_GET_COUNT, + TI_GET_CHILDRENCOUNT, + TI_GET_BITPOSITION, + TI_GET_VIRTUALBASECLASS, + TI_GET_VIRTUALTABLESHAPEID, + TI_GET_VIRTUALBASEPOINTEROFFSET, + TI_GET_CLASSPARENTID, + TI_GET_NESTED, + TI_GET_SYMINDEX, + TI_GET_LEXICALPARENT, + TI_GET_ADDRESS, + TI_GET_THISADJUST, + TI_GET_UDTKIND, + TI_IS_EQUIV_TO, + TI_GET_CALLING_CONVENTION, + TI_IS_CLOSE_EQUIV_TO, + TI_GTIEX_REQS_VALID, + TI_GET_VIRTUALBASEOFFSET, + TI_GET_VIRTUALBASEDISPINDEX, + TI_GET_IS_REFERENCE, + TI_GET_INDIRECTVIRTUALBASECLASS, + IMAGEHLP_SYMBOL_TYPE_INFO_MAX, +} IMAGEHLP_SYMBOL_TYPE_INFO; + +typedef struct _SYMBOL_INFO { + ULONG SizeOfStruct; + ULONG TypeIndex; + ULONG64 Reserved[2]; + ULONG Index; + ULONG Size; + ULONG64 ModBase; + ULONG Flags; + ULONG64 Value; + ULONG64 Address; + ULONG Register; + ULONG Scope; + ULONG Tag; + ULONG NameLen; + ULONG MaxNameLen; + CHAR Name[1]; +} SYMBOL_INFO, *PSYMBOL_INFO; \ No newline at end of file diff --git a/ctypes_generation/definitions/structures/template.py b/ctypes_generation/definitions/structures/template.py index 5d77017..857efde 100644 --- a/ctypes_generation/definitions/structures/template.py +++ b/ctypes_generation/definitions/structures/template.py @@ -35,3 +35,7 @@ class EnumType(DWORD): value = self.value return "<{0} {1}({2})>".format(type(self).__name__, value.name, hex(raw_value)) return "<{0}({1})>".format(type(self).__name__, hex(self.value)) + +# Sale: windef is hardcoded +import windef +SZOID_MAPPER = FlagMapper(*(getattr(windef, x) for x in dir(windef) if x.startswith("szOID"))) diff --git a/ctypes_generation/definitions/structures/winstruct.txt b/ctypes_generation/definitions/structures/winstruct.txt index 76714ec..b3dcf55 100644 --- a/ctypes_generation/definitions/structures/winstruct.txt +++ b/ctypes_generation/definitions/structures/winstruct.txt @@ -1597,61 +1597,6 @@ typedef union _DEBUG_PROCESSOR_IDENTIFICATION_ALL DEBUG_PROCESSOR_IDENTIFICATION_ARM Arm; } DEBUG_PROCESSOR_IDENTIFICATION_ALL, *PDEBUG_PROCESSOR_IDENTIFICATION_ALL; -typedef enum _IMAGEHLP_SYMBOL_TYPE_INFO { - TI_GET_SYMTAG, - TI_GET_SYMNAME, - TI_GET_LENGTH, - TI_GET_TYPE, - TI_GET_TYPEID, - TI_GET_BASETYPE, - TI_GET_ARRAYINDEXTYPEID, - TI_FINDCHILDREN, - TI_GET_DATAKIND, - TI_GET_ADDRESSOFFSET, - TI_GET_OFFSET, - TI_GET_VALUE, - TI_GET_COUNT, - TI_GET_CHILDRENCOUNT, - TI_GET_BITPOSITION, - TI_GET_VIRTUALBASECLASS, - TI_GET_VIRTUALTABLESHAPEID, - TI_GET_VIRTUALBASEPOINTEROFFSET, - TI_GET_CLASSPARENTID, - TI_GET_NESTED, - TI_GET_SYMINDEX, - TI_GET_LEXICALPARENT, - TI_GET_ADDRESS, - TI_GET_THISADJUST, - TI_GET_UDTKIND, - TI_IS_EQUIV_TO, - TI_GET_CALLING_CONVENTION, - TI_IS_CLOSE_EQUIV_TO, - TI_GTIEX_REQS_VALID, - TI_GET_VIRTUALBASEOFFSET, - TI_GET_VIRTUALBASEDISPINDEX, - TI_GET_IS_REFERENCE, - TI_GET_INDIRECTVIRTUALBASECLASS, - IMAGEHLP_SYMBOL_TYPE_INFO_MAX, -} IMAGEHLP_SYMBOL_TYPE_INFO; - -typedef struct _SYMBOL_INFO { - ULONG SizeOfStruct; - ULONG TypeIndex; - ULONG64 Reserved[2]; - ULONG Index; - ULONG Size; - ULONG64 ModBase; - ULONG Flags; - ULONG64 Value; - ULONG64 Address; - ULONG Register; - ULONG Scope; - ULONG Tag; - ULONG NameLen; - ULONG MaxNameLen; - CHAR Name[1]; -} SYMBOL_INFO, *PSYMBOL_INFO; - typedef struct _MODLOAD_DATA { DWORD ssize; DWORD ssig; @@ -2397,4 +2342,10 @@ typedef struct _PROCESS_MEMORY_COUNTERS_EX { SIZE_T PagefileUsage; SIZE_T PeakPagefileUsage; SIZE_T PrivateUsage; -} PROCESS_MEMORY_COUNTERS_EX; \ No newline at end of file +} PROCESS_MEMORY_COUNTERS_EX; + + +typedef struct _FILETIME { + DWORD dwLowDateTime; + DWORD dwHighDateTime; +} FILETIME, *PFILETIME, *LPFILETIME; \ No newline at end of file diff --git a/ctypes_generation/extended_structs/_CRYPT_ATTRIBUTE.py b/ctypes_generation/extended_structs/_CRYPT_ATTRIBUTE.py new file mode 100644 index 0000000..19760d4 --- /dev/null +++ b/ctypes_generation/extended_structs/_CRYPT_ATTRIBUTE.py @@ -0,0 +1,22 @@ +OLD_CRYPT_ATTRIBUTE = _CRYPT_ATTRIBUTE + +class _CRYPT_ATTRIBUTE(_CRYPT_ATTRIBUTE): + @property + def count(self): # __len__ ? + return self.cValue + + @property + def values(self): + return self.rgValue[:self.cValue] + + @property + def objid(self): + # SZOID_MAPPER defined in the generated structures template.py + return SZOID_MAPPER[self.pszObjId] + + def __repr__(self): + # return """<{0} pszObjId={1!r} Values={2}>""".format(type(self).__name__, self.objid, self.cValue) + if not self.pszObjId in SZOID_MAPPER: + return """<{0} pszObjId="{1}" Values={2}>""".format(type(self).__name__, self.pszObjId, self.cValue) + flag = SZOID_MAPPER[self.pszObjId] + return """<{0} pszObjId="{1}" ({2}) Values={3}>""".format(type(self).__name__, flag, flag.name, self.cValue) \ No newline at end of file diff --git a/ctypes_generation/extended_structs/_CRYPT_ATTRIBUTES.py b/ctypes_generation/extended_structs/_CRYPT_ATTRIBUTES.py new file mode 100644 index 0000000..f182a4d --- /dev/null +++ b/ctypes_generation/extended_structs/_CRYPT_ATTRIBUTES.py @@ -0,0 +1,15 @@ +OLD_CRYPT_ATTRIBUTES = _CRYPT_ATTRIBUTES +class _CRYPT_ATTRIBUTES(_CRYPT_ATTRIBUTES): + @property + def count(self): # __len__ ? + return self.cAttr + + @property + def attributes(self): + return self.rgAttr[:self.cAttr] + + def __getitem__(self, oid): + return [x for x in self.attributes if x.pszObjId == oid] + + def __repr__(self): + return """<{0} Attributes={1}>""".format(type(self).__name__, self.cAttr) \ No newline at end of file diff --git a/ctypes_generation/extended_structs/_FILETIME.py b/ctypes_generation/extended_structs/_FILETIME.py new file mode 100644 index 0000000..9bae13b --- /dev/null +++ b/ctypes_generation/extended_structs/_FILETIME.py @@ -0,0 +1,5 @@ +INITIAL_FILETIME = FILETIME + +class _FILETIME(INITIAL_FILETIME): + def __int__(self): + return (self.dwHighDateTime << 32) + self.dwLowDateTime \ No newline at end of file