Skip to content

Commit e0852a2

Browse files
authored
Merge pull request #61 from hakril/comupdate
Add multiple ctypes defintions
2 parents 13d0b6b + 68a3744 commit e0852a2

80 files changed

Lines changed: 9255 additions & 616 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

ctypes_generation/com_parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ class WinComParser(Parser):
1010
PARAM_INFO = ["__RPC__deref_out", "__RPC__in", "__RPC__deref_out_opt", "__RPC__out", "__RPC__in_opt",
1111
"__RPC__deref_opt_inout_opt", "__in", "__out", "__out_opt", "__in_opt", "__inout",
1212
"__reserved", "__RPC__in_opt_string", "__RPC__inout_opt", "__RPC__in_string", "__deref_out_opt", "__RPC__inout",
13-
"__RPC__deref_out_opt_string", "_COM_Outptr_", "_In_", "_In_opt_", "_Out_"]
13+
"__RPC__deref_out_opt_string", "_COM_Outptr_", "_In_", "_In_opt_", "_Out_", "__deref_out"]
1414
PARAM_INFO_WITH_VALUE = ["__RPC__in_ecount", "__RPC__out_ecount_part", "__RPC__in_ecount_full",
1515
"__RPC__in_range", "__RPC__out_ecount_full", "__out_ecount_opt", "__out_ecount", "__in_ecount_opt",
1616
"__in_ecount", "__out_bcount_opt", "__out_bcount", "__in_bcount", "__in_bcount_opt", "__RPC__out_ecount_full_string",
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
typedef struct IActivationStageInfoVtbl
2+
{
3+
BEGIN_INTERFACE
4+
5+
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6+
IActivationStageInfo * This,
7+
/* [in] */ REFIID riid,
8+
/* [iid_is][out] */ void **ppvObject);
9+
10+
ULONG ( STDMETHODCALLTYPE *AddRef )(
11+
IActivationStageInfo * This);
12+
13+
ULONG ( STDMETHODCALLTYPE *Release )(
14+
IActivationStageInfo * This);
15+
16+
HRESULT ( STDMETHODCALLTYPE *SetStageAndIndex )(
17+
IActivationStageInfo * This,
18+
/* [in] */ ACTIVATION_STAGE stage,
19+
/* [in] */ int index);
20+
21+
HRESULT ( STDMETHODCALLTYPE *GetStage )(
22+
IActivationStageInfo * This,
23+
/* [out] */ ACTIVATION_STAGE *pstage);
24+
25+
HRESULT ( STDMETHODCALLTYPE *GetIndex )(
26+
IActivationStageInfo * This,
27+
/* [out] */ int *pindex);
28+
29+
END_INTERFACE
30+
} IActivationStageInfoVtbl;
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
typedef struct ICallFactoryVtbl
2+
{
3+
BEGIN_INTERFACE
4+
5+
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6+
ICallFactory * This,
7+
/* [in] */ REFIID riid,
8+
/* [annotation][iid_is][out] */
9+
__RPC__deref_out void **ppvObject);
10+
11+
ULONG ( STDMETHODCALLTYPE *AddRef )(
12+
ICallFactory * This);
13+
14+
ULONG ( STDMETHODCALLTYPE *Release )(
15+
ICallFactory * This);
16+
17+
HRESULT ( STDMETHODCALLTYPE *CreateCall )(
18+
ICallFactory * This,
19+
/* [annotation][in] */
20+
__in REFIID riid,
21+
/* [annotation][in] */
22+
__in_opt IUnknown *pCtrlUnk,
23+
/* [annotation][in] */
24+
__in REFIID riid2,
25+
/* [annotation][iid_is][out] */
26+
__deref_out IUnknown **ppv);
27+
28+
END_INTERFACE
29+
} ICallFactoryVtbl;
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
typedef struct IClassFactoryVtbl
2+
{
3+
BEGIN_INTERFACE
4+
5+
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6+
IClassFactory * This,
7+
/* [in] */ REFIID riid,
8+
/* [iid_is][out] */ void **ppvObject);
9+
10+
ULONG ( STDMETHODCALLTYPE *AddRef )(
11+
IClassFactory * This);
12+
13+
ULONG ( STDMETHODCALLTYPE *Release )(
14+
IClassFactory * This);
15+
16+
/* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateInstance )(
17+
IClassFactory * This,
18+
/* [unique][in] */ IUnknown *pUnkOuter,
19+
/* [in] */ REFIID riid,
20+
/* [iid_is][out] */ void **ppvObject);
21+
22+
/* [local] */ HRESULT ( STDMETHODCALLTYPE *LockServer )(
23+
IClassFactory * This,
24+
/* [in] */ BOOL fLock);
25+
26+
END_INTERFACE
27+
} IClassFactoryVtbl;
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
typedef struct IClientSecurityVtbl
2+
{
3+
BEGIN_INTERFACE
4+
5+
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6+
IClientSecurity * This,
7+
/* [in] */ REFIID riid,
8+
/* [annotation][iid_is][out] */
9+
__RPC__deref_out void **ppvObject);
10+
11+
ULONG ( STDMETHODCALLTYPE *AddRef )(
12+
IClientSecurity * This);
13+
14+
ULONG ( STDMETHODCALLTYPE *Release )(
15+
IClientSecurity * This);
16+
17+
HRESULT ( STDMETHODCALLTYPE *QueryBlanket )(
18+
IClientSecurity * This,
19+
/* [annotation][in] */
20+
__in IUnknown *pProxy,
21+
/* [annotation][out] */
22+
__out DWORD *pAuthnSvc,
23+
/* [annotation][out] */
24+
__out_opt DWORD *pAuthzSvc,
25+
/* [annotation][out] */
26+
__RPC__deref_out_opt OLECHAR **pServerPrincName,
27+
/* [annotation][out] */
28+
__out_opt DWORD *pAuthnLevel,
29+
/* [annotation][out] */
30+
__out_opt DWORD *pImpLevel,
31+
/* [annotation][out] */
32+
__deref_out_opt void **pAuthInfo,
33+
/* [annotation][out] */
34+
__out_opt DWORD *pCapabilites);
35+
36+
HRESULT ( STDMETHODCALLTYPE *SetBlanket )(
37+
IClientSecurity * This,
38+
/* [annotation][in] */
39+
__in IUnknown *pProxy,
40+
/* [annotation][in] */
41+
__in DWORD dwAuthnSvc,
42+
/* [annotation][in] */
43+
__in DWORD dwAuthzSvc,
44+
/* [annotation][in] */
45+
__RPC__in_opt OLECHAR *pServerPrincName,
46+
/* [annotation][in] */
47+
__in DWORD dwAuthnLevel,
48+
/* [annotation][in] */
49+
__in DWORD dwImpLevel,
50+
/* [annotation][in] */
51+
__in_opt void *pAuthInfo,
52+
/* [annotation][in] */
53+
__in DWORD dwCapabilities);
54+
55+
HRESULT ( STDMETHODCALLTYPE *CopyProxy )(
56+
IClientSecurity * This,
57+
/* [annotation][in] */
58+
__in IUnknown *pProxy,
59+
/* [annotation][out] */
60+
__deref_out IUnknown **ppCopy);
61+
62+
END_INTERFACE
63+
} IClientSecurityVtbl;
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
typedef struct IComCatalogVtbl
2+
{
3+
BEGIN_INTERFACE
4+
5+
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6+
IComCatalog * This,
7+
/* [in] */ REFIID riid,
8+
/* [iid_is][out] */ void **ppvObject);
9+
10+
ULONG ( STDMETHODCALLTYPE *AddRef )(
11+
IComCatalog * This);
12+
13+
ULONG ( STDMETHODCALLTYPE *Release )(
14+
IComCatalog * This);
15+
16+
HRESULT ( STDMETHODCALLTYPE *GetClassInfo )(
17+
IComCatalog * This,
18+
/* [in] */ REFGUID guidConfiguredClsid,
19+
/* [in] */ REFIID riid,
20+
/* [out] */ void **ppv);
21+
22+
HRESULT ( STDMETHODCALLTYPE *GetApplicationInfo )(
23+
IComCatalog * This,
24+
/* [in] */ REFGUID guidApplId,
25+
/* [in] */ REFIID riid,
26+
/* [out] */ void **ppv);
27+
28+
HRESULT ( STDMETHODCALLTYPE *GetProcessInfo )(
29+
IComCatalog * This,
30+
/* [in] */ REFGUID guidProcess,
31+
/* [in] */ REFIID riid,
32+
/* [out] */ void **ppv);
33+
34+
HRESULT ( STDMETHODCALLTYPE *GetServerGroupInfo )(
35+
IComCatalog * This,
36+
/* [in] */ REFGUID guidServerGroup,
37+
/* [in] */ REFIID riid,
38+
/* [out] */ void **ppv);
39+
40+
HRESULT ( STDMETHODCALLTYPE *GetRetQueueInfo )(
41+
IComCatalog * This,
42+
/* [string][in] */ WCHAR *wszFormatName,
43+
/* [in] */ REFIID riid,
44+
/* [out] */ void **ppv);
45+
46+
HRESULT ( STDMETHODCALLTYPE *GetApplicationInfoForExe )(
47+
IComCatalog * This,
48+
/* [string][in] */ WCHAR *pwszExeName,
49+
/* [in] */ REFIID riid,
50+
/* [out] */ void **ppv);
51+
52+
HRESULT ( STDMETHODCALLTYPE *GetTypeLibrary )(
53+
IComCatalog * This,
54+
/* [in] */ REFGUID guidTypeLib,
55+
/* [in] */ REFIID riid,
56+
/* [out] */ void **ppv);
57+
58+
HRESULT ( STDMETHODCALLTYPE *GetInterfaceInfo )(
59+
IComCatalog * This,
60+
/* [in] */ REFIID iidInterface,
61+
/* [in] */ REFIID riid,
62+
/* [out] */ void **ppv);
63+
64+
HRESULT ( STDMETHODCALLTYPE *FlushCache )(
65+
IComCatalog * This);
66+
67+
HRESULT ( STDMETHODCALLTYPE *GetClassInfoFromProgId )(
68+
IComCatalog * This,
69+
/* [in] */ WCHAR *pwszProgID,
70+
/* [in] */ REFIID riid,
71+
/* [out] */ void **ppv);
72+
73+
END_INTERFACE
74+
} IComCatalogVtbl;
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
typedef struct IInternalUnknownVtbl
2+
{
3+
BEGIN_INTERFACE
4+
5+
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6+
IInternalUnknown * This,
7+
/* [in] */ REFIID riid,
8+
/* [iid_is][out] */ void **ppvObject);
9+
10+
ULONG ( STDMETHODCALLTYPE *AddRef )(
11+
IInternalUnknown * This);
12+
13+
ULONG ( STDMETHODCALLTYPE *Release )(
14+
IInternalUnknown * This);
15+
16+
HRESULT ( STDMETHODCALLTYPE *QueryInternalInterface )(
17+
IInternalUnknown * This,
18+
/* [in] */ REFIID riid,
19+
/* [out] */ void **ppv);
20+
21+
END_INTERFACE
22+
} IInternalUnknownVtbl;
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
typedef struct IMarshalVtbl
2+
{
3+
BEGIN_INTERFACE
4+
5+
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6+
IMarshal * This,
7+
/* [in] */ REFIID riid,
8+
/* [iid_is][out] */ void **ppvObject);
9+
10+
ULONG ( STDMETHODCALLTYPE *AddRef )(
11+
IMarshal * This);
12+
13+
ULONG ( STDMETHODCALLTYPE *Release )(
14+
IMarshal * This);
15+
16+
HRESULT ( STDMETHODCALLTYPE *GetUnmarshalClass )(
17+
IMarshal * This,
18+
/* [in] */ REFIID riid,
19+
/* [unique][in] */ void *pv,
20+
/* [in] */ DWORD dwDestContext,
21+
/* [unique][in] */ void *pvDestContext,
22+
/* [in] */ DWORD mshlflags,
23+
/* [out] */ CLSID *pCid);
24+
25+
HRESULT ( STDMETHODCALLTYPE *GetMarshalSizeMax )(
26+
IMarshal * This,
27+
/* [in] */ REFIID riid,
28+
/* [unique][in] */ void *pv,
29+
/* [in] */ DWORD dwDestContext,
30+
/* [unique][in] */ void *pvDestContext,
31+
/* [in] */ DWORD mshlflags,
32+
/* [out] */ DWORD *pSize);
33+
34+
HRESULT ( STDMETHODCALLTYPE *MarshalInterface )(
35+
IMarshal * This,
36+
/* [unique][in] */ IStream *pStm,
37+
/* [in] */ REFIID riid,
38+
/* [unique][in] */ void *pv,
39+
/* [in] */ DWORD dwDestContext,
40+
/* [unique][in] */ void *pvDestContext,
41+
/* [in] */ DWORD mshlflags);
42+
43+
HRESULT ( STDMETHODCALLTYPE *UnmarshalInterface )(
44+
IMarshal * This,
45+
/* [unique][in] */ IStream *pStm,
46+
/* [in] */ REFIID riid,
47+
/* [out] */ void **ppv);
48+
49+
HRESULT ( STDMETHODCALLTYPE *ReleaseMarshalData )(
50+
IMarshal * This,
51+
/* [unique][in] */ IStream *pStm);
52+
53+
HRESULT ( STDMETHODCALLTYPE *DisconnectObject )(
54+
IMarshal * This,
55+
/* [in] */ DWORD dwReserved);
56+
57+
END_INTERFACE
58+
} IMarshalVtbl;
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)