Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add multiple ctypes defintions #61

Merged
merged 9 commits into from
Nov 4, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ctypes_generation/com_parser.py
Original file line number Diff line number Diff line change
@@ -10,7 +10,7 @@ class WinComParser(Parser):
PARAM_INFO = ["__RPC__deref_out", "__RPC__in", "__RPC__deref_out_opt", "__RPC__out", "__RPC__in_opt",
"__RPC__deref_opt_inout_opt", "__in", "__out", "__out_opt", "__in_opt", "__inout",
"__reserved", "__RPC__in_opt_string", "__RPC__inout_opt", "__RPC__in_string", "__deref_out_opt", "__RPC__inout",
"__RPC__deref_out_opt_string", "_COM_Outptr_", "_In_", "_In_opt_", "_Out_"]
"__RPC__deref_out_opt_string", "_COM_Outptr_", "_In_", "_In_opt_", "_Out_", "__deref_out"]
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",
30 changes: 30 additions & 0 deletions ctypes_generation/definitions/com/IActivationStageInfo.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
typedef struct IActivationStageInfoVtbl
{
BEGIN_INTERFACE

HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IActivationStageInfo * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppvObject);

ULONG ( STDMETHODCALLTYPE *AddRef )(
IActivationStageInfo * This);

ULONG ( STDMETHODCALLTYPE *Release )(
IActivationStageInfo * This);

HRESULT ( STDMETHODCALLTYPE *SetStageAndIndex )(
IActivationStageInfo * This,
/* [in] */ ACTIVATION_STAGE stage,
/* [in] */ int index);

HRESULT ( STDMETHODCALLTYPE *GetStage )(
IActivationStageInfo * This,
/* [out] */ ACTIVATION_STAGE *pstage);

HRESULT ( STDMETHODCALLTYPE *GetIndex )(
IActivationStageInfo * This,
/* [out] */ int *pindex);

END_INTERFACE
} IActivationStageInfoVtbl;
29 changes: 29 additions & 0 deletions ctypes_generation/definitions/com/ICallFactory.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
typedef struct ICallFactoryVtbl
{
BEGIN_INTERFACE

HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICallFactory * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);

ULONG ( STDMETHODCALLTYPE *AddRef )(
ICallFactory * This);

ULONG ( STDMETHODCALLTYPE *Release )(
ICallFactory * This);

HRESULT ( STDMETHODCALLTYPE *CreateCall )(
ICallFactory * This,
/* [annotation][in] */
__in REFIID riid,
/* [annotation][in] */
__in_opt IUnknown *pCtrlUnk,
/* [annotation][in] */
__in REFIID riid2,
/* [annotation][iid_is][out] */
__deref_out IUnknown **ppv);

END_INTERFACE
} ICallFactoryVtbl;
27 changes: 27 additions & 0 deletions ctypes_generation/definitions/com/IClassFactory.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
typedef struct IClassFactoryVtbl
{
BEGIN_INTERFACE

HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IClassFactory * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppvObject);

ULONG ( STDMETHODCALLTYPE *AddRef )(
IClassFactory * This);

ULONG ( STDMETHODCALLTYPE *Release )(
IClassFactory * This);

/* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateInstance )(
IClassFactory * This,
/* [unique][in] */ IUnknown *pUnkOuter,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppvObject);

/* [local] */ HRESULT ( STDMETHODCALLTYPE *LockServer )(
IClassFactory * This,
/* [in] */ BOOL fLock);

END_INTERFACE
} IClassFactoryVtbl;
63 changes: 63 additions & 0 deletions ctypes_generation/definitions/com/IClientSecurity.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
typedef struct IClientSecurityVtbl
{
BEGIN_INTERFACE

HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IClientSecurity * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);

ULONG ( STDMETHODCALLTYPE *AddRef )(
IClientSecurity * This);

ULONG ( STDMETHODCALLTYPE *Release )(
IClientSecurity * This);

HRESULT ( STDMETHODCALLTYPE *QueryBlanket )(
IClientSecurity * This,
/* [annotation][in] */
__in IUnknown *pProxy,
/* [annotation][out] */
__out DWORD *pAuthnSvc,
/* [annotation][out] */
__out_opt DWORD *pAuthzSvc,
/* [annotation][out] */
__RPC__deref_out_opt OLECHAR **pServerPrincName,
/* [annotation][out] */
__out_opt DWORD *pAuthnLevel,
/* [annotation][out] */
__out_opt DWORD *pImpLevel,
/* [annotation][out] */
__deref_out_opt void **pAuthInfo,
/* [annotation][out] */
__out_opt DWORD *pCapabilites);

HRESULT ( STDMETHODCALLTYPE *SetBlanket )(
IClientSecurity * This,
/* [annotation][in] */
__in IUnknown *pProxy,
/* [annotation][in] */
__in DWORD dwAuthnSvc,
/* [annotation][in] */
__in DWORD dwAuthzSvc,
/* [annotation][in] */
__RPC__in_opt OLECHAR *pServerPrincName,
/* [annotation][in] */
__in DWORD dwAuthnLevel,
/* [annotation][in] */
__in DWORD dwImpLevel,
/* [annotation][in] */
__in_opt void *pAuthInfo,
/* [annotation][in] */
__in DWORD dwCapabilities);

HRESULT ( STDMETHODCALLTYPE *CopyProxy )(
IClientSecurity * This,
/* [annotation][in] */
__in IUnknown *pProxy,
/* [annotation][out] */
__deref_out IUnknown **ppCopy);

END_INTERFACE
} IClientSecurityVtbl;
74 changes: 74 additions & 0 deletions ctypes_generation/definitions/com/IComCatalog.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
typedef struct IComCatalogVtbl
{
BEGIN_INTERFACE

HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IComCatalog * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppvObject);

ULONG ( STDMETHODCALLTYPE *AddRef )(
IComCatalog * This);

ULONG ( STDMETHODCALLTYPE *Release )(
IComCatalog * This);

HRESULT ( STDMETHODCALLTYPE *GetClassInfo )(
IComCatalog * This,
/* [in] */ REFGUID guidConfiguredClsid,
/* [in] */ REFIID riid,
/* [out] */ void **ppv);

HRESULT ( STDMETHODCALLTYPE *GetApplicationInfo )(
IComCatalog * This,
/* [in] */ REFGUID guidApplId,
/* [in] */ REFIID riid,
/* [out] */ void **ppv);

HRESULT ( STDMETHODCALLTYPE *GetProcessInfo )(
IComCatalog * This,
/* [in] */ REFGUID guidProcess,
/* [in] */ REFIID riid,
/* [out] */ void **ppv);

HRESULT ( STDMETHODCALLTYPE *GetServerGroupInfo )(
IComCatalog * This,
/* [in] */ REFGUID guidServerGroup,
/* [in] */ REFIID riid,
/* [out] */ void **ppv);

HRESULT ( STDMETHODCALLTYPE *GetRetQueueInfo )(
IComCatalog * This,
/* [string][in] */ WCHAR *wszFormatName,
/* [in] */ REFIID riid,
/* [out] */ void **ppv);

HRESULT ( STDMETHODCALLTYPE *GetApplicationInfoForExe )(
IComCatalog * This,
/* [string][in] */ WCHAR *pwszExeName,
/* [in] */ REFIID riid,
/* [out] */ void **ppv);

HRESULT ( STDMETHODCALLTYPE *GetTypeLibrary )(
IComCatalog * This,
/* [in] */ REFGUID guidTypeLib,
/* [in] */ REFIID riid,
/* [out] */ void **ppv);

HRESULT ( STDMETHODCALLTYPE *GetInterfaceInfo )(
IComCatalog * This,
/* [in] */ REFIID iidInterface,
/* [in] */ REFIID riid,
/* [out] */ void **ppv);

HRESULT ( STDMETHODCALLTYPE *FlushCache )(
IComCatalog * This);

HRESULT ( STDMETHODCALLTYPE *GetClassInfoFromProgId )(
IComCatalog * This,
/* [in] */ WCHAR *pwszProgID,
/* [in] */ REFIID riid,
/* [out] */ void **ppv);

END_INTERFACE
} IComCatalogVtbl;
22 changes: 22 additions & 0 deletions ctypes_generation/definitions/com/IInternalUnknown.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
typedef struct IInternalUnknownVtbl
{
BEGIN_INTERFACE

HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IInternalUnknown * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppvObject);

ULONG ( STDMETHODCALLTYPE *AddRef )(
IInternalUnknown * This);

ULONG ( STDMETHODCALLTYPE *Release )(
IInternalUnknown * This);

HRESULT ( STDMETHODCALLTYPE *QueryInternalInterface )(
IInternalUnknown * This,
/* [in] */ REFIID riid,
/* [out] */ void **ppv);

END_INTERFACE
} IInternalUnknownVtbl;
58 changes: 58 additions & 0 deletions ctypes_generation/definitions/com/IMarshal.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
typedef struct IMarshalVtbl
{
BEGIN_INTERFACE

HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMarshal * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppvObject);

ULONG ( STDMETHODCALLTYPE *AddRef )(
IMarshal * This);

ULONG ( STDMETHODCALLTYPE *Release )(
IMarshal * This);

HRESULT ( STDMETHODCALLTYPE *GetUnmarshalClass )(
IMarshal * This,
/* [in] */ REFIID riid,
/* [unique][in] */ void *pv,
/* [in] */ DWORD dwDestContext,
/* [unique][in] */ void *pvDestContext,
/* [in] */ DWORD mshlflags,
/* [out] */ CLSID *pCid);

HRESULT ( STDMETHODCALLTYPE *GetMarshalSizeMax )(
IMarshal * This,
/* [in] */ REFIID riid,
/* [unique][in] */ void *pv,
/* [in] */ DWORD dwDestContext,
/* [unique][in] */ void *pvDestContext,
/* [in] */ DWORD mshlflags,
/* [out] */ DWORD *pSize);

HRESULT ( STDMETHODCALLTYPE *MarshalInterface )(
IMarshal * This,
/* [unique][in] */ IStream *pStm,
/* [in] */ REFIID riid,
/* [unique][in] */ void *pv,
/* [in] */ DWORD dwDestContext,
/* [unique][in] */ void *pvDestContext,
/* [in] */ DWORD mshlflags);

HRESULT ( STDMETHODCALLTYPE *UnmarshalInterface )(
IMarshal * This,
/* [unique][in] */ IStream *pStm,
/* [in] */ REFIID riid,
/* [out] */ void **ppv);

HRESULT ( STDMETHODCALLTYPE *ReleaseMarshalData )(
IMarshal * This,
/* [unique][in] */ IStream *pStm);

HRESULT ( STDMETHODCALLTYPE *DisconnectObject )(
IMarshal * This,
/* [in] */ DWORD dwReserved);

END_INTERFACE
} IMarshalVtbl;
67 changes: 67 additions & 0 deletions ctypes_generation/definitions/com/IObjContext.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
typedef struct IObjContextVtbl
{
BEGIN_INTERFACE

HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IObjContext * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
void **ppvObject);

ULONG ( STDMETHODCALLTYPE *AddRef )(
IObjContext * This);

ULONG ( STDMETHODCALLTYPE *Release )(
IObjContext * This);

HRESULT ( STDMETHODCALLTYPE *SetProperty )(
IObjContext * This,
/* [annotation][in] */
__in REFGUID rpolicyId,
/* [annotation][in] */
__in CPFLAGS flags,
/* [annotation][in] */
__in IUnknown *pUnk);

HRESULT ( STDMETHODCALLTYPE *RemoveProperty )(
IObjContext * This,
/* [annotation][in] */
__in REFGUID rPolicyId);

HRESULT ( STDMETHODCALLTYPE *GetProperty )(
IObjContext * This,
/* [annotation][in] */
__in REFGUID rGuid,
/* [annotation][out] */
__out CPFLAGS *pFlags,
/* [annotation][out] */
__deref_out IUnknown **ppUnk);

HRESULT ( STDMETHODCALLTYPE *EnumContextProps )(
IObjContext * This,
/* [annotation][out] */
__deref_out IEnumContextProps **ppEnumContextProps);

PVOID ( STDMETHODCALLTYPE *Reserved1 )(
IObjContext * This);

PVOID ( STDMETHODCALLTYPE *Reserved2 )(
IObjContext * This);

PVOID ( STDMETHODCALLTYPE *Reserved3 )(
IObjContext * This);

PVOID ( STDMETHODCALLTYPE *Reserved4 )(
IObjContext * This);

PVOID ( STDMETHODCALLTYPE *Reserved5 )(
IObjContext * This);

PVOID ( STDMETHODCALLTYPE *Reserved6 )(
IObjContext * This);

PVOID ( STDMETHODCALLTYPE *Reserved7 )(
IObjContext * This);

END_INTERFACE
} IObjContextVtbl;
Loading