17
19
(["in"], BOOL, "fEnterMode")
23
class _LARGE_INTEGER(Structure):
25
('QuadPart', c_longlong),
28
class _ULARGE_INTEGER(Structure):
30
('QuadPart', c_ulonglong),
33
class _FILETIME(Structure):
35
('dwLowDateTime', c_ulong),
36
('dwHighDateTime', c_ulong),
39
class tagSTATSTG(Structure):
41
('pwcsName', WSTRING),
43
('cbSize', _ULARGE_INTEGER),
48
('grfLocksSupported', c_ulong),
50
('grfStateBits', c_ulong),
51
('reserved', c_ulong),
54
class ISequentialStream(IUnknown):
55
_iid_ = GUID('{0C733A30-2A1C-11CE-ADE5-00AA0044773D}')
58
COMMETHOD([], HRESULT, 'RemoteRead',
59
( ['out'], POINTER(c_ubyte), 'pv' ),
60
( ['in'], c_ulong, 'cb' ),
61
( ['out'], POINTER(c_ulong), 'pcbRead' )),
62
COMMETHOD([], HRESULT, 'RemoteWrite',
63
( ['in'], POINTER(c_ubyte), 'pv' ),
64
( ['in'], c_ulong, 'cb' ),
65
( ['out'], POINTER(c_ulong), 'pcbWritten' )),
68
class IStream(ISequentialStream):
69
_iid_ = GUID('{0000000C-0000-0000-C000-000000000046}')
72
COMMETHOD([], HRESULT, 'RemoteSeek',
73
( ['in'], _LARGE_INTEGER, 'dlibMove' ),
74
( ['in'], c_ulong, 'dwOrigin' ),
75
( ['out'], POINTER(_ULARGE_INTEGER), 'plibNewPosition' )),
76
COMMETHOD([], HRESULT, 'SetSize',
77
( ['in'], _ULARGE_INTEGER, 'libNewSize' )),
78
COMMETHOD([], HRESULT, 'RemoteCopyTo',
79
( ['in'], POINTER(IStream), 'pstm' ),
80
( ['in'], _ULARGE_INTEGER, 'cb' ),
81
( ['out'], POINTER(_ULARGE_INTEGER), 'pcbRead' ),
82
( ['out'], POINTER(_ULARGE_INTEGER), 'pcbWritten' )),
83
COMMETHOD([], HRESULT, 'Commit',
84
( ['in'], c_ulong, 'grfCommitFlags' )),
85
COMMETHOD([], HRESULT, 'Revert'),
86
COMMETHOD([], HRESULT, 'LockRegion',
87
( ['in'], _ULARGE_INTEGER, 'libOffset' ),
88
( ['in'], _ULARGE_INTEGER, 'cb' ),
89
( ['in'], c_ulong, 'dwLockType' )),
90
COMMETHOD([], HRESULT, 'UnlockRegion',
91
( ['in'], _ULARGE_INTEGER, 'libOffset' ),
92
( ['in'], _ULARGE_INTEGER, 'cb' ),
93
( ['in'], c_ulong, 'dwLockType' )),
94
COMMETHOD([], HRESULT, 'Stat',
95
( ['out'], POINTER(tagSTATSTG), 'pstatstg' ),
96
( ['in'], c_ulong, 'grfStatFlag' )),
97
COMMETHOD([], HRESULT, 'Clone',
98
( ['out'], POINTER(POINTER(IStream)), 'ppstm' )),
101
class IPersistStream(IPersist):
102
_iid_ = GUID('{00000109-0000-0000-C000-000000000046}')
105
COMMETHOD([], HRESULT, 'IsDirty'),
106
COMMETHOD([], HRESULT, 'Load',
107
( ['in'], POINTER(IStream), 'pstm' )),
108
COMMETHOD([], HRESULT, 'Save',
109
( ['in'], POINTER(IStream), 'pstm' ),
110
( ['in'], c_int, 'fClearDirty' )),
111
COMMETHOD([], HRESULT, 'GetSizeMax',
112
( ['out'], POINTER(_ULARGE_INTEGER), 'pcbSize' )),
115
class IRunningObjectTable(IUnknown):
116
_iid_ = GUID('{00000010-0000-0000-C000-000000000046}')
120
return self.EnumRunning()
122
class IEnumString(IUnknown):
123
_iid_ = GUID('{00000101-0000-0000-C000-000000000046}')
125
IEnumString._methods_ = [
126
COMMETHOD([], HRESULT, 'RemoteNext',
127
( ['in'], c_ulong, 'celt' ),
128
( ['out'], POINTER(WSTRING), 'rgelt' ),
129
( ['out'], POINTER(c_ulong), 'pceltFetched' )),
130
COMMETHOD([], HRESULT, 'Skip',
131
( ['in'], c_ulong, 'celt' )),
132
COMMETHOD([], HRESULT, 'Reset'),
133
COMMETHOD([], HRESULT, 'Clone',
134
( ['out'], POINTER(POINTER(IEnumString)), 'ppenum' )),
137
class IBindCtx(IUnknown):
138
_iid_ = GUID('{0000000E-0000-0000-C000-000000000046}')
141
COMMETHOD([], HRESULT, 'RegisterObjectBound',
142
( ['in'], POINTER(IUnknown), 'punk' )),
143
COMMETHOD([], HRESULT, 'RevokeObjectBound',
144
( ['in'], POINTER(IUnknown), 'punk' )),
145
COMMETHOD([], HRESULT, 'ReleaseBoundObjects'),
146
COMMETHOD([], HRESULT, 'RemoteSetBindOptions',
147
( ['in'], POINTER(tagBIND_OPTS2), 'pbindopts' )),
148
COMMETHOD([], HRESULT, 'RemoteGetBindOptions',
149
( ['in', 'out'], POINTER(tagBIND_OPTS2), 'pbindopts' )),
150
COMMETHOD([], HRESULT, 'GetRunningObjectTable',
151
( ['out'], POINTER(POINTER(IRunningObjectTable)), 'pprot' )),
152
COMMETHOD([], HRESULT, 'RegisterObjectParam',
153
( ['in'], WSTRING, 'pszKey' ),
154
( ['in'], POINTER(IUnknown), 'punk' )),
155
COMMETHOD([], HRESULT, 'GetObjectParam',
156
( ['in'], WSTRING, 'pszKey' ),
157
( ['out'], POINTER(POINTER(IUnknown)), 'ppunk' )),
158
COMMETHOD([], HRESULT, 'EnumObjectParam',
159
( ['out'], POINTER(POINTER(IEnumString)), 'ppenum' )),
160
COMMETHOD([], HRESULT, 'RevokeObjectParam',
161
( ['in'], WSTRING, 'pszKey' )),
164
class IMoniker(IPersistStream):
165
_iid_ = GUID('{0000000F-0000-0000-C000-000000000046}')
168
def GetDisplayName(self, pbc, pmkToLeft):
169
displayName = WSTRING()
170
self.__com_GetDisplayName(pbc, pmkToLeft, displayName)
171
ret = displayName.value
172
windll.ole32.CoTaskMemFree(displayName)
175
class IEnumMoniker(IUnknown):
176
_iid_ = GUID('{00000102-0000-0000-C000-000000000046}')
179
def Next(self, celt):
182
mon = POINTER(IMoniker)()
183
self.__com_Next(celt, mon, fetched)
184
return mon, fetched.value
185
array = (POINTER(IMoniker) * celt)()
186
self.__com_Next(celt, array, fetched)
187
return array[:fetched.value]
193
item, fetched = self.Next(1)
198
IEnumMoniker._methods_ = [
199
COMMETHOD([], HRESULT, 'Next',
200
( ['in'], c_ulong, 'celt' ),
201
( ['out'], POINTER(POINTER(IMoniker)), 'rgelt' ),
202
( ['out'], POINTER(c_ulong), 'pceltFetched' )),
203
COMMETHOD([], HRESULT, 'Skip',
204
( ['in'], c_ulong, 'celt' )),
205
COMMETHOD([], HRESULT, 'Reset'),
206
COMMETHOD([], HRESULT, 'Clone',
207
( ['out'], POINTER(POINTER(IEnumMoniker)), 'ppenum' )),
210
IMoniker._methods_ = [
211
COMMETHOD([], HRESULT, 'RemoteBindToObject',
212
( ['in'], POINTER(IBindCtx), 'pbc' ),
213
( ['in'], POINTER(IMoniker), 'pmkToLeft' ),
214
( ['in'], POINTER(GUID), 'riidResult' ),
215
( ['out'], POINTER(POINTER(IUnknown)), 'ppvResult' )),
216
COMMETHOD([], HRESULT, 'RemoteBindToStorage',
217
( ['in'], POINTER(IBindCtx), 'pbc' ),
218
( ['in'], POINTER(IMoniker), 'pmkToLeft' ),
219
( ['in'], POINTER(GUID), 'riid' ),
220
( ['out'], POINTER(POINTER(IUnknown)), 'ppvObj' )),
221
COMMETHOD([], HRESULT, 'Reduce',
222
( ['in'], POINTER(IBindCtx), 'pbc' ),
223
( ['in'], c_ulong, 'dwReduceHowFar' ),
224
( ['in', 'out'], POINTER(POINTER(IMoniker)), 'ppmkToLeft' ),
225
( ['out'], POINTER(POINTER(IMoniker)), 'ppmkReduced' )),
226
COMMETHOD([], HRESULT, 'ComposeWith',
227
( ['in'], POINTER(IMoniker), 'pmkRight' ),
228
( ['in'], c_int, 'fOnlyIfNotGeneric' ),
229
( ['out'], POINTER(POINTER(IMoniker)), 'ppmkComposite' )),
230
COMMETHOD([], HRESULT, 'Enum',
231
( ['in'], c_int, 'fForward' ),
232
( ['out'], POINTER(POINTER(IEnumMoniker)), 'ppenumMoniker' )),
233
COMMETHOD([], HRESULT, 'IsEqual',
234
( ['in'], POINTER(IMoniker), 'pmkOtherMoniker' )),
235
COMMETHOD([], HRESULT, 'Hash',
236
( ['out'], POINTER(c_ulong), 'pdwHash' )),
237
COMMETHOD([], HRESULT, 'IsRunning',
238
( ['in'], POINTER(IBindCtx), 'pbc' ),
239
( ['in'], POINTER(IMoniker), 'pmkToLeft' ),
240
( ['in'], POINTER(IMoniker), 'pmkNewlyRunning' )),
241
COMMETHOD([], HRESULT, 'GetTimeOfLastChange',
242
( ['in'], POINTER(IBindCtx), 'pbc' ),
243
( ['in'], POINTER(IMoniker), 'pmkToLeft' ),
244
( ['out'], POINTER(_FILETIME), 'pfiletime' )),
245
COMMETHOD([], HRESULT, 'Inverse',
246
( ['out'], POINTER(POINTER(IMoniker)), 'ppmk' )),
247
COMMETHOD([], HRESULT, 'CommonPrefixWith',
248
( ['in'], POINTER(IMoniker), 'pmkOther' ),
249
( ['out'], POINTER(POINTER(IMoniker)), 'ppmkPrefix' )),
250
COMMETHOD([], HRESULT, 'RelativePathTo',
251
( ['in'], POINTER(IMoniker), 'pmkOther' ),
252
( ['out'], POINTER(POINTER(IMoniker)), 'ppmkRelPath' )),
253
COMMETHOD([], HRESULT, 'GetDisplayName',
254
( ['in'], POINTER(IBindCtx), 'pbc' ),
255
( ['in'], POINTER(IMoniker), 'pmkToLeft' ),
256
( ['out'], POINTER(WSTRING), 'ppszDisplayName' )),
257
COMMETHOD([], HRESULT, 'ParseDisplayName',
258
( ['in'], POINTER(IBindCtx), 'pbc' ),
259
( ['in'], POINTER(IMoniker), 'pmkToLeft' ),
260
( ['in'], WSTRING, 'pszDisplayName' ),
261
( ['out'], POINTER(c_ulong), 'pchEaten' ),
262
( ['out'], POINTER(POINTER(IMoniker)), 'ppmkOut' )),
263
COMMETHOD([], HRESULT, 'IsSystemMoniker',
264
( ['out'], POINTER(c_ulong), 'pdwMksys' )),
267
IRunningObjectTable._methods_ = [
268
COMMETHOD([], HRESULT, 'Register',
269
( ['in'], c_ulong, 'grfFlags' ),
270
( ['in'], POINTER(IUnknown), 'punkObject' ),
271
( ['in'], POINTER(IMoniker), 'pmkObjectName' ),
272
( ['out'], POINTER(c_ulong), 'pdwRegister' )),
273
COMMETHOD([], HRESULT, 'Revoke',
274
( ['in'], c_ulong, 'dwRegister' )),
275
COMMETHOD([], HRESULT, 'IsRunning',
276
( ['in'], POINTER(IMoniker), 'pmkObjectName' )),
277
COMMETHOD([], HRESULT, 'GetObject',
278
( ['in'], POINTER(IMoniker), 'pmkObjectName' ),
279
( ['out'], POINTER(POINTER(IUnknown)), 'ppunkObject' )),
280
COMMETHOD([], HRESULT, 'NoteChangeTime',
281
( ['in'], c_ulong, 'dwRegister' ),
282
( ['in'], POINTER(_FILETIME), 'pfiletime' )),
283
COMMETHOD([], HRESULT, 'GetTimeOfLastChange',
284
( ['in'], POINTER(IMoniker), 'pmkObjectName' ),
285
( ['out'], POINTER(_FILETIME), 'pfiletime' )),
286
COMMETHOD([], HRESULT, 'EnumRunning',
287
( ['out'], POINTER(POINTER(IEnumMoniker)), 'ppenumMoniker' )),