comtypes 1.1.14__zip → 1.2.1__zip
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {comtypes-1.1.14 → comtypes-1.2.1}/CHANGES.txt +37 -0
- comtypes-1.2.1/PKG-INFO +79 -0
- comtypes-1.2.1/README.md +59 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/__init__.py +302 -555
- comtypes-1.2.1/comtypes/_memberspec.py +520 -0
- comtypes-1.2.1/comtypes/_npsupport.py +143 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/automation.py +99 -11
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/client/__init__.py +80 -26
- comtypes-1.2.1/comtypes/client/_generate.py +274 -0
- comtypes-1.2.1/comtypes/hints.pyi +26 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/persist.py +14 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/safearray.py +22 -21
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/__init__.py +0 -7
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_client.py +35 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_dict.py +0 -4
- comtypes-1.2.1/comtypes/test/test_npsupport.py +343 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_safearray.py +2 -235
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_variant.py +6 -59
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/tools/codegenerator.py +454 -337
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/tools/tlbparser.py +56 -75
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/tools/typedesc.py +31 -3
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/tools/typedesc_base.py +28 -1
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/typeinfo.py +291 -121
- comtypes-1.2.1/comtypes.egg-info/PKG-INFO +79 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes.egg-info/SOURCES.txt +4 -1
- {comtypes-1.1.14 → comtypes-1.2.1}/setup.cfg +0 -1
- {comtypes-1.1.14 → comtypes-1.2.1}/setup.py +15 -8
- comtypes-1.1.14/PKG-INFO +0 -50
- comtypes-1.1.14/README.md +0 -31
- comtypes-1.1.14/comtypes/client/_generate.py +0 -257
- comtypes-1.1.14/comtypes/npsupport.py +0 -125
- comtypes-1.1.14/comtypes.egg-info/PKG-INFO +0 -50
- {comtypes-1.1.14 → comtypes-1.2.1}/LICENSE.txt +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/MANIFEST.in +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/clear_comtypes_cache.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/GUID.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/_comobject.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/_meta.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/_safearray.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/client/_code_cache.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/client/_constants.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/client/_events.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/client/dynamic.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/client/lazybind.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/connectionpoints.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/errorinfo.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/git.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/hresult.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/logutil.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/messageloop.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/patcher.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/server/__init__.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/server/automation.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/server/connectionpoints.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/server/inprocserver.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/server/localserver.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/server/register.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/server/w_getopt.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/shelllink.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/TestComServer.idl +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/TestComServer.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/TestComServer.tlb +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/TestDispServer.idl +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/TestDispServer.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/TestDispServer.tlb +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/find_memleak.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/mylib.idl +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/mytypelib.idl +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/runtests.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/setup.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_BSTR.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_DISPPARAMS.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_GUID.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_QueryService.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_agilent.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_avmc.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_basic.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_casesensitivity.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_collections.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_comserver.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_createwrappers.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_dispinterface.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_dyndispatch.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_excel.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_findgendir.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_getactiveobj.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_ie.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_jscript.js +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_msscript.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_outparam.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_propputref.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_pump_events.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_sapi.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_server.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_showevents.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_subinterface.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_typeinfo.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_urlhistory.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_win32com_interop.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_wmi.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/test/test_word.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/tools/__init__.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/util.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes/viewobject.py +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes.egg-info/dependency_links.txt +0 -0
- {comtypes-1.1.14 → comtypes-1.2.1}/comtypes.egg-info/top_level.txt +0 -0
|
@@ -8,29 +8,24 @@ import sys
|
|
|
8
8
|
import weakref
|
|
9
9
|
|
|
10
10
|
from ctypes import *
|
|
11
|
-
from ctypes.wintypes import ULONG
|
|
12
|
-
from comtypes import
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
from
|
|
22
|
-
from
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
from comtypes
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
from comtypes.automation import VARIANTARG
|
|
30
|
-
from comtypes.automation import VARTYPE
|
|
31
|
-
from comtypes.automation import WCHAR
|
|
32
|
-
from comtypes.automation import WORD
|
|
33
|
-
from comtypes.automation import tagVARIANT
|
|
11
|
+
from ctypes.wintypes import DWORD, LONG, UINT, ULONG, WCHAR, WORD
|
|
12
|
+
from comtypes import (
|
|
13
|
+
BSTR, COMMETHOD, _GUID, GUID, IID, IUnknown, STDMETHOD, TYPE_CHECKING,
|
|
14
|
+
)
|
|
15
|
+
from comtypes.automation import (
|
|
16
|
+
DISPID, DISPPARAMS, EXCEPINFO, LCID, SCODE, VARIANT, VARIANTARG, VARTYPE,
|
|
17
|
+
tagVARIANT,
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
if TYPE_CHECKING:
|
|
21
|
+
from ctypes import _CData, _Pointer
|
|
22
|
+
from typing import (
|
|
23
|
+
Any, Callable, List, Optional, overload, Sequence, Type, TypeVar,
|
|
24
|
+
Tuple, Union as _UnionT,
|
|
25
|
+
)
|
|
26
|
+
from comtypes import hints
|
|
27
|
+
_CT = TypeVar("_CT", bound=_CData)
|
|
28
|
+
_T_IUnknown = TypeVar("_T_IUnknown", bound=IUnknown)
|
|
34
29
|
|
|
35
30
|
is_64_bit = sys.maxsize > 2**32
|
|
36
31
|
|
|
@@ -185,7 +180,9 @@ PARAMFLAG_FHASCUSTDATA = 64
|
|
|
185
180
|
|
|
186
181
|
################################################################
|
|
187
182
|
# a helper
|
|
183
|
+
|
|
188
184
|
def _deref_with_release(ptr, release):
|
|
185
|
+
# type: (_Pointer[_CT], Callable[..., Any]) -> _CT
|
|
189
186
|
# Given a POINTER instance, return the pointed to value.
|
|
190
187
|
# Call the 'release' function with 'ptr' to release resources
|
|
191
188
|
# when the value is no longer needed.
|
|
@@ -198,32 +195,46 @@ def _deref_with_release(ptr, release):
|
|
|
198
195
|
class ITypeLib(IUnknown):
|
|
199
196
|
_iid_ = GUID("{00020402-0000-0000-C000-000000000046}")
|
|
200
197
|
|
|
201
|
-
#
|
|
198
|
+
# type-checking only methods use the default implementation that comtypes
|
|
202
199
|
# automatically creates for COM methods.
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
200
|
+
if TYPE_CHECKING:
|
|
201
|
+
def GetTypeInfoCount(self):
|
|
202
|
+
# type: () -> int
|
|
203
|
+
"""Return the number of type informations"""
|
|
204
|
+
raise
|
|
205
|
+
def GetTypeInfo(self, index):
|
|
206
|
+
# type: (int) -> ITypeInfo
|
|
207
|
+
"""Load type info by index"""
|
|
208
|
+
raise
|
|
209
|
+
def GetTypeInfoType(self, index):
|
|
210
|
+
# type: (int) -> int
|
|
211
|
+
"""Return the TYPEKIND of type information"""
|
|
212
|
+
raise
|
|
213
|
+
def GetTypeInfoOfGuid(self, guid):
|
|
214
|
+
# type: (GUID) -> ITypeInfo
|
|
215
|
+
"""Return type information for a guid"""
|
|
216
|
+
raise
|
|
217
|
+
def GetTypeComp(self):
|
|
218
|
+
# type: () -> ITypeComp
|
|
219
|
+
"""Return an ITypeComp pointer."""
|
|
220
|
+
raise
|
|
221
|
+
def GetDocumentation(self, index):
|
|
222
|
+
# type: (int) -> Tuple[str, str, int, Optional[str]]
|
|
223
|
+
"""Return documentation for a type description."""
|
|
224
|
+
raise
|
|
225
|
+
def ReleaseTLibAttr(self, ptla):
|
|
226
|
+
# type: (_Pointer[TLIBATTR]) -> int
|
|
227
|
+
"""Release TLIBATTR"""
|
|
228
|
+
raise
|
|
229
|
+
_GetLibAttr = hints.AnnoField() # type: Callable[[], _Pointer[TLIBATTR]]
|
|
215
230
|
|
|
216
231
|
def GetLibAttr(self):
|
|
217
|
-
|
|
232
|
+
# type: () -> TLIBATTR
|
|
233
|
+
"""Return type library attributes"""
|
|
218
234
|
return _deref_with_release(self._GetLibAttr(), self.ReleaseTLibAttr)
|
|
219
235
|
|
|
220
|
-
## def GetTypeComp(self):
|
|
221
|
-
## "Return an ITypeComp pointer."
|
|
222
|
-
|
|
223
|
-
## def GetDocumentation(self, index):
|
|
224
|
-
## "Return documentation for a type description."
|
|
225
|
-
|
|
226
236
|
def IsName(self, name, lHashVal=0):
|
|
237
|
+
# type: (str, int) -> Optional[str]
|
|
227
238
|
"""Check if there is type information for this name.
|
|
228
239
|
|
|
229
240
|
Returns the name with capitalization found in the type
|
|
@@ -232,27 +243,33 @@ class ITypeLib(IUnknown):
|
|
|
232
243
|
from ctypes import create_unicode_buffer
|
|
233
244
|
namebuf = create_unicode_buffer(name)
|
|
234
245
|
found = BOOL()
|
|
235
|
-
self.__com_IsName(namebuf, lHashVal, byref(found))
|
|
246
|
+
self.__com_IsName(namebuf, lHashVal, byref(found)) # type: ignore
|
|
236
247
|
if found.value:
|
|
237
|
-
return namebuf[:].split("\0", 1)[0]
|
|
248
|
+
return namebuf[:].split("\0", 1)[0] # type: ignore
|
|
238
249
|
return None
|
|
239
250
|
|
|
240
251
|
def FindName(self, name, lHashVal=0):
|
|
252
|
+
# type: (str, int) -> Optional[Tuple[int, ITypeInfo]]
|
|
241
253
|
# Hm...
|
|
242
254
|
# Could search for more than one name - should we support this?
|
|
243
255
|
found = c_ushort(1)
|
|
244
256
|
tinfo = POINTER(ITypeInfo)()
|
|
245
257
|
memid = MEMBERID()
|
|
246
|
-
self.__com_FindName(name, lHashVal, byref(tinfo), byref(memid), byref(found))
|
|
258
|
+
self.__com_FindName(name, lHashVal, byref(tinfo), byref(memid), byref(found)) # type: ignore
|
|
247
259
|
if found.value:
|
|
248
|
-
return memid.value, tinfo
|
|
260
|
+
return memid.value, tinfo # type: ignore
|
|
249
261
|
return None
|
|
250
262
|
|
|
251
|
-
## def ReleaseTLibAttr(self, ptla):
|
|
252
|
-
## "Release TLIBATTR"
|
|
253
|
-
|
|
254
263
|
################
|
|
255
|
-
|
|
264
|
+
if TYPE_CHECKING:
|
|
265
|
+
@overload
|
|
266
|
+
def fix_name(name):
|
|
267
|
+
# type: (None) -> None
|
|
268
|
+
pass
|
|
269
|
+
@overload
|
|
270
|
+
def fix_name(name):
|
|
271
|
+
# type: (str) -> str
|
|
272
|
+
pass
|
|
256
273
|
def fix_name(name):
|
|
257
274
|
# Some typelibs contain BSTR with embedded NUL characters,
|
|
258
275
|
# probably the len of the BSTR is wrong.
|
|
@@ -263,58 +280,80 @@ def fix_name(name):
|
|
|
263
280
|
class ITypeInfo(IUnknown):
|
|
264
281
|
_iid_ = GUID("{00020401-0000-0000-C000-000000000046}")
|
|
265
282
|
|
|
283
|
+
if TYPE_CHECKING:
|
|
284
|
+
def GetTypeComp(self):
|
|
285
|
+
# type: () -> ITypeComp
|
|
286
|
+
"""Return ITypeComp pointer for this type"""
|
|
287
|
+
raise
|
|
288
|
+
def GetRefTypeOfImplType(self, index):
|
|
289
|
+
# type: (int) -> int
|
|
290
|
+
"""Get the reftype of an implemented type"""
|
|
291
|
+
raise
|
|
292
|
+
def GetImplTypeFlags(self, index):
|
|
293
|
+
# type: (int) -> int
|
|
294
|
+
"""Get IMPLTYPEFLAGS"""
|
|
295
|
+
raise
|
|
296
|
+
# not yet wrapped
|
|
297
|
+
# STDMETHOD(HRESULT, 'Invoke', [PVOID, MEMBERID, WORD, POINTER(DISPPARAMS), POINTER(VARIANT), POINTER(EXCEPINFO), POINTER(UINT)]),
|
|
298
|
+
def GetDllEntry(self, memid, invkind):
|
|
299
|
+
# type: (int, int) -> Tuple[Optional[str], Optional[str], int]
|
|
300
|
+
"""Return the dll name, function name, and ordinal for a function and invkind."""
|
|
301
|
+
raise
|
|
302
|
+
def GetRefTypeInfo(self, href):
|
|
303
|
+
# type: (int) -> ITypeInfo
|
|
304
|
+
"""Get type info for reftype"""
|
|
305
|
+
raise
|
|
306
|
+
def GetMops(self, index):
|
|
307
|
+
# type: (int) -> Optional[str]
|
|
308
|
+
"""Get marshalling opcodes (whatever that is...)"""
|
|
309
|
+
raise
|
|
310
|
+
def GetContainingTypeLib(self):
|
|
311
|
+
# type: () -> Tuple[ITypeLib, int]
|
|
312
|
+
"""Return index into and the containing type lib itself"""
|
|
313
|
+
raise
|
|
314
|
+
ReleaseTypeAttr = hints.AnnoField() # type: Callable[[_Pointer[TYPEATTR]], int]
|
|
315
|
+
ReleaseFuncDesc = hints.AnnoField() # type: Callable[[_Pointer[FUNCDESC]], int]
|
|
316
|
+
ReleaseVarDesc = hints.AnnoField() # type: Callable[[_Pointer[VARDESC]], int]
|
|
317
|
+
_GetTypeAttr = hints.AnnoField() # type: Callable[[], _Pointer[TYPEATTR]]
|
|
318
|
+
_GetFuncDesc = hints.AnnoField() # type: Callable[[int], _Pointer[FUNCDESC]]
|
|
319
|
+
_GetVarDesc = hints.AnnoField() # type: Callable[[int], _Pointer[VARDESC]]
|
|
320
|
+
_GetDocumentation = hints.AnnoField() # type: Callable[[int], Tuple[str, str, int, Optional[str]]]
|
|
321
|
+
|
|
266
322
|
def GetTypeAttr(self):
|
|
267
|
-
"Return the TYPEATTR for this type"
|
|
323
|
+
"""Return the TYPEATTR for this type"""
|
|
268
324
|
return _deref_with_release(self._GetTypeAttr(), self.ReleaseTypeAttr)
|
|
269
325
|
|
|
270
|
-
## def GetTypeComp(self):
|
|
271
|
-
## "Return ITypeComp pointer for this type"
|
|
272
|
-
|
|
273
326
|
def GetDocumentation(self, memid):
|
|
274
327
|
"""Return name, docstring, helpcontext, and helpfile for 'memid'."""
|
|
275
328
|
name, doc, helpcontext, helpfile = self._GetDocumentation(memid)
|
|
276
329
|
return fix_name(name), fix_name(doc), helpcontext, fix_name(helpfile)
|
|
277
330
|
|
|
278
331
|
def GetFuncDesc(self, index):
|
|
279
|
-
"Return FUNCDESC for index"
|
|
332
|
+
"""Return FUNCDESC for index"""
|
|
280
333
|
return _deref_with_release(self._GetFuncDesc(index), self.ReleaseFuncDesc)
|
|
281
334
|
|
|
282
335
|
def GetVarDesc(self, index):
|
|
283
|
-
"Return VARDESC for index"
|
|
336
|
+
"""Return VARDESC for index"""
|
|
284
337
|
return _deref_with_release(self._GetVarDesc(index), self.ReleaseVarDesc)
|
|
285
338
|
|
|
286
339
|
def GetNames(self, memid, count=1):
|
|
287
|
-
|
|
340
|
+
# type: (int, int) -> List[str]
|
|
341
|
+
"""Return names for memid"""
|
|
288
342
|
names = (BSTR * count)()
|
|
289
343
|
cnames = c_uint()
|
|
290
|
-
self.__com_GetNames(memid, names, count, byref(cnames))
|
|
344
|
+
self.__com_GetNames(memid, names, count, byref(cnames)) # type: ignore
|
|
291
345
|
return names[:cnames.value]
|
|
292
346
|
|
|
293
|
-
## def GetRefTypeOfImplType(self, index):
|
|
294
|
-
## "Get the reftype of an implemented type"
|
|
295
|
-
|
|
296
|
-
## def GetImplTypeFlags(self, index):
|
|
297
|
-
## "Get IMPLTYPEFLAGS"
|
|
298
|
-
|
|
299
347
|
def GetIDsOfNames(self, *names):
|
|
300
|
-
|
|
348
|
+
# type: (str) -> List[int]
|
|
349
|
+
"""Maps function and argument names to identifiers"""
|
|
301
350
|
rgsznames = (c_wchar_p * len(names))(*names)
|
|
302
351
|
ids = (MEMBERID * len(names))()
|
|
303
|
-
self.__com_GetIDsOfNames(rgsznames, len(names), ids)
|
|
352
|
+
self.__com_GetIDsOfNames(rgsznames, len(names), ids) # type: ignore
|
|
304
353
|
return ids[:]
|
|
305
354
|
|
|
306
|
-
|
|
307
|
-
# not yet wrapped
|
|
308
|
-
## STDMETHOD(HRESULT, 'Invoke', [PVOID, MEMBERID, WORD, POINTER(DISPPARAMS), POINTER(VARIANT), POINTER(EXCEPINFO), POINTER(UINT)]),
|
|
309
|
-
|
|
310
|
-
## def GetDllEntry(self, memid, invkind):
|
|
311
|
-
## "Return the dll name, function name, and ordinal for a function and invkind."
|
|
312
|
-
|
|
313
|
-
## def GetRefTypeInfo(self, href):
|
|
314
|
-
## "Get type info for reftype"
|
|
315
|
-
|
|
316
355
|
def AddressOfMember(self, memid, invkind):
|
|
317
|
-
"Get the address of a function in a dll"
|
|
356
|
+
"""Get the address of a function in a dll"""
|
|
318
357
|
raise RuntimeError("Check Me")
|
|
319
358
|
p = c_void_p()
|
|
320
359
|
self.__com_AddressOfMember(memid, invkind, byref(p))
|
|
@@ -322,21 +361,10 @@ class ITypeInfo(IUnknown):
|
|
|
322
361
|
return p.value
|
|
323
362
|
|
|
324
363
|
def CreateInstance(self, punkouter=None, interface=IUnknown, iid=None):
|
|
364
|
+
# type: (Optional[Type[_Pointer[IUnknown]]], Type[_T_IUnknown], Optional[GUID]) -> _T_IUnknown
|
|
325
365
|
if iid is None:
|
|
326
366
|
iid = interface._iid_
|
|
327
|
-
return self._CreateInstance(punkouter, byref(interface._iid_))
|
|
328
|
-
|
|
329
|
-
## def GetMops(self, index):
|
|
330
|
-
## "Get marshalling opcodes (whatever that is...)"
|
|
331
|
-
|
|
332
|
-
## def GetContainingTypeLib(self):
|
|
333
|
-
## "Return index into and the containing type lib itself"
|
|
334
|
-
|
|
335
|
-
## def ReleaseTypeAttr(self, pta):
|
|
336
|
-
|
|
337
|
-
## def ReleaseFuncDesc(self, pfd):
|
|
338
|
-
|
|
339
|
-
## def ReleaseVarDesc(self, pvd):
|
|
367
|
+
return self._CreateInstance(punkouter, byref(interface._iid_)) # type: ignore
|
|
340
368
|
|
|
341
369
|
################
|
|
342
370
|
|
|
@@ -344,11 +372,12 @@ class ITypeComp(IUnknown):
|
|
|
344
372
|
_iid_ = GUID("{00020403-0000-0000-C000-000000000046}")
|
|
345
373
|
|
|
346
374
|
def Bind(self, name, flags=0, lHashVal=0):
|
|
347
|
-
|
|
375
|
+
# type: (str, int, int) -> Optional[Tuple[str, _UnionT[FUNCDESC, VARDESC, ITypeComp]]]
|
|
376
|
+
"""Bind to a name"""
|
|
348
377
|
bindptr = BINDPTR()
|
|
349
378
|
desckind = DESCKIND()
|
|
350
|
-
ti = POINTER(ITypeInfo)()
|
|
351
|
-
self.__com_Bind(name, lHashVal, flags, byref(ti), byref(desckind), byref(bindptr))
|
|
379
|
+
ti = POINTER(ITypeInfo)() # type: ITypeInfo
|
|
380
|
+
self.__com_Bind(name, lHashVal, flags, byref(ti), byref(desckind), byref(bindptr)) # type: ignore
|
|
352
381
|
kind = desckind.value
|
|
353
382
|
if kind == DESCKIND_FUNCDESC:
|
|
354
383
|
fd = bindptr.lpfuncdesc[0]
|
|
@@ -366,11 +395,12 @@ class ITypeComp(IUnknown):
|
|
|
366
395
|
raise NameError("Name %s not found" % name)
|
|
367
396
|
|
|
368
397
|
def BindType(self, name, lHashVal=0):
|
|
369
|
-
|
|
398
|
+
# type: (str, int) -> Tuple[ITypeInfo, ITypeComp]
|
|
399
|
+
"""Bind a type, and return both the typeinfo and typecomp for it."""
|
|
370
400
|
ti = POINTER(ITypeInfo)()
|
|
371
401
|
tc = POINTER(ITypeComp)()
|
|
372
|
-
self.__com_BindType(name, lHashVal, byref(ti), byref(tc))
|
|
373
|
-
return ti, tc
|
|
402
|
+
self.__com_BindType(name, lHashVal, byref(ti), byref(tc)) # type: ignore
|
|
403
|
+
return ti, tc # type: ignore
|
|
374
404
|
|
|
375
405
|
|
|
376
406
|
################
|
|
@@ -385,8 +415,11 @@ class ICreateTypeLib2(ICreateTypeLib):
|
|
|
385
415
|
class ICreateTypeInfo(IUnknown):
|
|
386
416
|
_iid_ = GUID("{00020405-0000-0000-C000-000000000046}")
|
|
387
417
|
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 915
|
|
418
|
+
if TYPE_CHECKING:
|
|
419
|
+
_SetFuncAndParamNames = hints.AnnoField() # Callable[[int, Array[c_wchar_p], int], int]
|
|
388
420
|
|
|
389
421
|
def SetFuncAndParamNames(self, index, *names):
|
|
422
|
+
# type: (int, str) -> int
|
|
390
423
|
rgszNames = (c_wchar_p * len(names))()
|
|
391
424
|
for i, n in enumerate(names):
|
|
392
425
|
rgszNames[i] = n
|
|
@@ -397,15 +430,16 @@ class IRecordInfo(IUnknown):
|
|
|
397
430
|
_iid_ = GUID("{0000002F-0000-0000-C000-000000000046}")
|
|
398
431
|
|
|
399
432
|
def GetFieldNames(self, *args):
|
|
433
|
+
# type: (Any) -> List[Optional[str]]
|
|
400
434
|
count = c_ulong()
|
|
401
|
-
self.__com_GetFieldNames(count, None)
|
|
435
|
+
self.__com_GetFieldNames(count, None) # type: ignore
|
|
402
436
|
array = (BSTR * count.value)()
|
|
403
|
-
self.__com_GetFieldNames(count, array)
|
|
437
|
+
self.__com_GetFieldNames(count, array) # type: ignore
|
|
404
438
|
result = array[:]
|
|
405
439
|
# XXX Should SysFreeString the array contents. How to?
|
|
406
440
|
return result
|
|
407
441
|
|
|
408
|
-
IRecordInfo.
|
|
442
|
+
IRecordInfo._methods_ = [
|
|
409
443
|
COMMETHOD([], HRESULT, 'RecordInit',
|
|
410
444
|
(['in'], c_void_p, 'pvNew')),
|
|
411
445
|
COMMETHOD([], HRESULT, 'RecordClear',
|
|
@@ -459,59 +493,69 @@ IRecordInfo. _methods_ = [
|
|
|
459
493
|
_oleaut32 = oledll.oleaut32
|
|
460
494
|
|
|
461
495
|
def GetRecordInfoFromTypeInfo(tinfo):
|
|
496
|
+
# type: (ITypeInfo) -> IRecordInfo
|
|
462
497
|
"Return an IRecordInfo pointer to the UDT described in tinfo"
|
|
463
498
|
ri = POINTER(IRecordInfo)()
|
|
464
499
|
_oleaut32.GetRecordInfoFromTypeInfo(tinfo, byref(ri))
|
|
465
|
-
return ri
|
|
500
|
+
return ri # type: ignore
|
|
466
501
|
|
|
467
502
|
def GetRecordInfoFromGuids(rGuidTypeLib, verMajor, verMinor, lcid, rGuidTypeInfo):
|
|
503
|
+
# type: (str, int, int, int, str) -> IRecordInfo
|
|
468
504
|
ri = POINTER(IRecordInfo)()
|
|
469
505
|
_oleaut32.GetRecordInfoFromGuids(byref(GUID(rGuidTypeLib)),
|
|
470
506
|
verMajor, verMinor, lcid,
|
|
471
507
|
byref(GUID(rGuidTypeInfo)),
|
|
472
508
|
byref(ri))
|
|
473
|
-
return ri
|
|
509
|
+
return ri # type: ignore
|
|
474
510
|
|
|
475
511
|
def LoadRegTypeLib(guid, wMajorVerNum, wMinorVerNum, lcid=0):
|
|
476
|
-
|
|
512
|
+
# type: (_UnionT[str, GUID], int, int, int) -> ITypeLib
|
|
513
|
+
"""Load a registered type library"""
|
|
477
514
|
tlib = POINTER(ITypeLib)()
|
|
478
515
|
_oleaut32.LoadRegTypeLib(byref(GUID(guid)), wMajorVerNum, wMinorVerNum, lcid, byref(tlib))
|
|
479
|
-
return tlib
|
|
516
|
+
return tlib # type: ignore
|
|
480
517
|
|
|
481
518
|
if hasattr(_oleaut32, "LoadTypeLibEx"):
|
|
482
519
|
def LoadTypeLibEx(szFile, regkind=REGKIND_NONE):
|
|
520
|
+
# type: (str, int) -> ITypeLib
|
|
483
521
|
"Load, and optionally register a type library file"
|
|
484
522
|
ptl = POINTER(ITypeLib)()
|
|
485
523
|
_oleaut32.LoadTypeLibEx(c_wchar_p(szFile), regkind, byref(ptl))
|
|
486
|
-
return ptl
|
|
524
|
+
return ptl # type: ignore
|
|
487
525
|
else:
|
|
488
526
|
def LoadTypeLibEx(szFile, regkind=REGKIND_NONE):
|
|
527
|
+
# type: (str, int) -> ITypeLib
|
|
489
528
|
"Load, and optionally register a type library file"
|
|
490
529
|
ptl = POINTER(ITypeLib)()
|
|
491
530
|
_oleaut32.LoadTypeLib(c_wchar_p(szFile), byref(ptl))
|
|
492
|
-
return ptl
|
|
531
|
+
return ptl # type: ignore
|
|
493
532
|
|
|
494
533
|
def LoadTypeLib(szFile):
|
|
534
|
+
# type: (str) -> ITypeLib
|
|
495
535
|
"Load and register a type library file"
|
|
496
536
|
tlib = POINTER(ITypeLib)()
|
|
497
537
|
_oleaut32.LoadTypeLib(c_wchar_p(szFile), byref(tlib))
|
|
498
|
-
return tlib
|
|
538
|
+
return tlib # type: ignore
|
|
499
539
|
|
|
500
540
|
def UnRegisterTypeLib(libID, wVerMajor, wVerMinor, lcid=0, syskind=SYS_WIN32):
|
|
541
|
+
# type: (str, int, int, int, int) -> int
|
|
501
542
|
"Unregister a registered type library"
|
|
502
543
|
return _oleaut32.UnRegisterTypeLib(byref(GUID(libID)), wVerMajor, wVerMinor, lcid, syskind)
|
|
503
544
|
|
|
504
545
|
def RegisterTypeLib(tlib, fullpath, helpdir=None):
|
|
546
|
+
# type: (ITypeLib, str, Optional[str]) -> int
|
|
505
547
|
"Register a type library in the registry"
|
|
506
548
|
return _oleaut32.RegisterTypeLib(tlib, c_wchar_p(fullpath), c_wchar_p(helpdir))
|
|
507
549
|
|
|
508
550
|
def CreateTypeLib(filename, syskind=SYS_WIN32):
|
|
551
|
+
# type: (str, int) -> ICreateTypeLib2
|
|
509
552
|
"Return a ICreateTypeLib2 pointer"
|
|
510
553
|
ctlib = POINTER(ICreateTypeLib2)()
|
|
511
554
|
_oleaut32.CreateTypeLib2(syskind, c_wchar_p(filename), byref(ctlib))
|
|
512
|
-
return ctlib
|
|
555
|
+
return ctlib # type: ignore
|
|
513
556
|
|
|
514
557
|
def QueryPathOfRegTypeLib(libid, wVerMajor, wVerMinor, lcid=0):
|
|
558
|
+
# type: (str, int, int, int) -> str
|
|
515
559
|
"Return the path of a registered type library"
|
|
516
560
|
pathname = BSTR()
|
|
517
561
|
_oleaut32.QueryPathOfRegTypeLib(byref(GUID(libid)), wVerMajor, wVerMinor, lcid, byref(pathname))
|
|
@@ -522,6 +566,14 @@ def QueryPathOfRegTypeLib(libid, wVerMajor, wVerMinor, lcid=0):
|
|
|
522
566
|
|
|
523
567
|
class tagTLIBATTR(Structure):
|
|
524
568
|
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 4437
|
|
569
|
+
if TYPE_CHECKING:
|
|
570
|
+
guid = hints.AnnoField() # type: GUID
|
|
571
|
+
lcid = hints.AnnoField() # type: int
|
|
572
|
+
syskind = hints.AnnoField() # type: int
|
|
573
|
+
wMajorVerNum = hints.AnnoField() # type: int
|
|
574
|
+
wMinorVerNum = hints.AnnoField() # type: int
|
|
575
|
+
wLibFlags = hints.AnnoField() # type: int
|
|
576
|
+
|
|
525
577
|
def __repr__(self):
|
|
526
578
|
return "TLIBATTR(GUID=%s, Version=%s.%s, LCID=%s, FLags=0x%x)" % \
|
|
527
579
|
(self.guid, self.wMajorVerNum, self.wMinorVerNum, self.lcid, self.wLibFlags)
|
|
@@ -529,6 +581,26 @@ TLIBATTR = tagTLIBATTR
|
|
|
529
581
|
|
|
530
582
|
class tagTYPEATTR(Structure):
|
|
531
583
|
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 672
|
|
584
|
+
if TYPE_CHECKING:
|
|
585
|
+
guid = hints.AnnoField() # type: GUID
|
|
586
|
+
lcid = hints.AnnoField() # type: int
|
|
587
|
+
dwReserved = hints.AnnoField() # type: int
|
|
588
|
+
memidConstructor = hints.AnnoField() # type: int
|
|
589
|
+
memidDestructor = hints.AnnoField() # type: int
|
|
590
|
+
lpstrSchema = hints.AnnoField() # type: str
|
|
591
|
+
cbSizeInstance = hints.AnnoField() # type: int
|
|
592
|
+
typekind = hints.AnnoField() # type: int
|
|
593
|
+
cFuncs = hints.AnnoField() # type: int
|
|
594
|
+
cVars = hints.AnnoField() # type: int
|
|
595
|
+
cImplTypes = hints.AnnoField() # type: int
|
|
596
|
+
cbSizeVft = hints.AnnoField() # type: int
|
|
597
|
+
cbAlignment = hints.AnnoField() # type: int
|
|
598
|
+
wTypeFlags = hints.AnnoField() # type: int
|
|
599
|
+
wMajorVerNum = hints.AnnoField() # type: int
|
|
600
|
+
wMinorVerNum = hints.AnnoField() # type: int
|
|
601
|
+
tdescAlias = hints.AnnoField() # type: TYPEDESC
|
|
602
|
+
idldescType = hints.AnnoField() # type: IDLDESC
|
|
603
|
+
|
|
532
604
|
def __repr__(self):
|
|
533
605
|
return "TYPEATTR(GUID=%s, typekind=%s, funcs=%s, vars=%s, impltypes=%s)" % \
|
|
534
606
|
(self.guid, self.typekind, self.cFuncs, self.cVars, self.cImplTypes)
|
|
@@ -536,33 +608,62 @@ TYPEATTR = tagTYPEATTR
|
|
|
536
608
|
|
|
537
609
|
class tagFUNCDESC(Structure):
|
|
538
610
|
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 769
|
|
611
|
+
if TYPE_CHECKING:
|
|
612
|
+
memid = hints.AnnoField() # type: int
|
|
613
|
+
lprgscode = hints.AnnoField() # type: int
|
|
614
|
+
lprgelemdescParam = hints.AnnoField() # type: Sequence[ELEMDESC]
|
|
615
|
+
funckind = hints.AnnoField() # type: int
|
|
616
|
+
invkind = hints.AnnoField() # type: int
|
|
617
|
+
callconv = hints.AnnoField() # type: int
|
|
618
|
+
cParams = hints.AnnoField() # type: int
|
|
619
|
+
cParamsOpt = hints.AnnoField() # type: int
|
|
620
|
+
oVft = hints.AnnoField() # type: int
|
|
621
|
+
cScodes = hints.AnnoField() # type: int
|
|
622
|
+
elemdescFunc = hints.AnnoField() # type: ELEMDESC
|
|
623
|
+
wFuncFlags = hints.AnnoField() # type: int
|
|
624
|
+
|
|
539
625
|
def __repr__(self):
|
|
540
626
|
return "FUNCDESC(memid=%s, cParams=%s, cParamsOpt=%s, callconv=%s, invkind=%s, funckind=%s)" % \
|
|
541
627
|
(self.memid, self.cParams, self.cParamsOpt, self.callconv, self.invkind, self.funckind)
|
|
542
|
-
|
|
543
|
-
|
|
544
628
|
FUNCDESC = tagFUNCDESC
|
|
629
|
+
|
|
545
630
|
class tagVARDESC(Structure):
|
|
546
631
|
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 803
|
|
547
|
-
|
|
632
|
+
if TYPE_CHECKING:
|
|
633
|
+
memid = hints.AnnoField() # type: int
|
|
634
|
+
lpstrSchema = hints.AnnoField() # type: str
|
|
635
|
+
_ = hints.AnnoField() # type: N10tagVARDESC5DOLLAR_205E
|
|
636
|
+
elemdescVar = hints.AnnoField() # type: ELEMDESC
|
|
637
|
+
wVarFlags = hints.AnnoField() # type: int
|
|
638
|
+
varkind = hints.AnnoField() # type: int
|
|
548
639
|
VARDESC = tagVARDESC
|
|
549
640
|
|
|
550
641
|
class tagBINDPTR(Union):
|
|
551
642
|
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 3075
|
|
552
|
-
|
|
643
|
+
if TYPE_CHECKING:
|
|
644
|
+
lpfuncdesc = hints.AnnoField() # type: _Pointer[FUNCDESC]
|
|
645
|
+
lpvardesc = hints.AnnoField() # type: _Pointer[VARDESC]
|
|
646
|
+
lptcomp = hints.AnnoField() # type: ITypeComp
|
|
553
647
|
BINDPTR = tagBINDPTR
|
|
554
648
|
class tagTYPEDESC(Structure):
|
|
555
649
|
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 582
|
|
556
|
-
|
|
650
|
+
if TYPE_CHECKING:
|
|
651
|
+
_ = hints.AnnoField() # type: N11tagTYPEDESC5DOLLAR_203E
|
|
652
|
+
vt = hints.AnnoField() # type: int
|
|
557
653
|
TYPEDESC = tagTYPEDESC
|
|
558
654
|
class tagIDLDESC(Structure):
|
|
559
655
|
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 633
|
|
560
|
-
|
|
656
|
+
if TYPE_CHECKING:
|
|
657
|
+
dwReserved = hints.AnnoField() # type: int
|
|
658
|
+
wIDLFlags = hints.AnnoField() # type: int
|
|
561
659
|
IDLDESC = tagIDLDESC
|
|
562
660
|
|
|
563
661
|
class tagARRAYDESC(Structure):
|
|
564
662
|
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 594
|
|
565
|
-
|
|
663
|
+
if TYPE_CHECKING:
|
|
664
|
+
tdescElem = hints.AnnoField() # type: TYPEDESC
|
|
665
|
+
cDims = hints.AnnoField() # type: int
|
|
666
|
+
rgbounds = hints.AnnoField() # type: Sequence[SAFEARRAYBOUND]
|
|
566
667
|
|
|
567
668
|
################################################################
|
|
568
669
|
# interface vtbl definitions
|
|
@@ -729,6 +830,8 @@ ICreateTypeInfo._methods_ = [
|
|
|
729
830
|
|
|
730
831
|
class IProvideClassInfo(IUnknown):
|
|
731
832
|
_iid_ = GUID("{B196B283-BAB4-101A-B69C-00AA00341D07}")
|
|
833
|
+
if TYPE_CHECKING:
|
|
834
|
+
GetClassInfo = hints.AnnoField() # type: Callable[[], ITypeInfo]
|
|
732
835
|
_methods_ = [
|
|
733
836
|
# Returns the ITypeInfo interface for the object's coclass type information.
|
|
734
837
|
COMMETHOD([], HRESULT, "GetClassInfo",
|
|
@@ -737,6 +840,8 @@ class IProvideClassInfo(IUnknown):
|
|
|
737
840
|
|
|
738
841
|
class IProvideClassInfo2(IProvideClassInfo):
|
|
739
842
|
_iid_ = GUID("{A6BC3AC0-DBAA-11CE-9DE3-00AA004BB851}")
|
|
843
|
+
if TYPE_CHECKING:
|
|
844
|
+
GetGUID = hints.AnnoField() # type: Callable[[int], GUID]
|
|
740
845
|
_methods_ = [
|
|
741
846
|
# Returns the GUID for the object's outgoing IID for its default event set.
|
|
742
847
|
COMMETHOD([], HRESULT, "GetGUID",
|
|
@@ -759,7 +864,10 @@ tagTLIBATTR._fields_ = [
|
|
|
759
864
|
]
|
|
760
865
|
class N11tagTYPEDESC5DOLLAR_203E(Union):
|
|
761
866
|
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 584
|
|
762
|
-
|
|
867
|
+
if TYPE_CHECKING:
|
|
868
|
+
lptdesc = hints.AnnoField() # type: TYPEDESC
|
|
869
|
+
lpadesc = hints.AnnoField() # type: tagARRAYDESC
|
|
870
|
+
hreftype = hints.AnnoField() # type: int
|
|
763
871
|
N11tagTYPEDESC5DOLLAR_203E._fields_ = [
|
|
764
872
|
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 584
|
|
765
873
|
('lptdesc', POINTER(tagTYPEDESC)),
|
|
@@ -801,7 +909,9 @@ tagTYPEATTR._fields_ = [
|
|
|
801
909
|
]
|
|
802
910
|
class N10tagVARDESC5DOLLAR_205E(Union):
|
|
803
911
|
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 807
|
|
804
|
-
|
|
912
|
+
if TYPE_CHECKING:
|
|
913
|
+
oInst = hints.AnnoField() # type: int
|
|
914
|
+
lpvarValue = hints.AnnoField() # type: VARIANT
|
|
805
915
|
N10tagVARDESC5DOLLAR_205E._fields_ = [
|
|
806
916
|
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 807
|
|
807
917
|
('oInst', DWORD),
|
|
@@ -809,18 +919,26 @@ N10tagVARDESC5DOLLAR_205E._fields_ = [
|
|
|
809
919
|
]
|
|
810
920
|
class tagELEMDESC(Structure):
|
|
811
921
|
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 661
|
|
812
|
-
|
|
922
|
+
if TYPE_CHECKING:
|
|
923
|
+
tdesc = hints.AnnoField() # type: TYPEDESC
|
|
924
|
+
_ = hints.AnnoField() # type: N11tagELEMDESC5DOLLAR_204E
|
|
813
925
|
class N11tagELEMDESC5DOLLAR_204E(Union):
|
|
814
926
|
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 663
|
|
815
|
-
|
|
927
|
+
if TYPE_CHECKING:
|
|
928
|
+
idldesc = hints.AnnoField() # type: IDLDESC
|
|
929
|
+
paramdesc = hints.AnnoField() # type: PARAMDESC
|
|
816
930
|
|
|
817
931
|
class tagPARAMDESC(Structure):
|
|
818
932
|
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 609
|
|
819
|
-
|
|
933
|
+
if TYPE_CHECKING:
|
|
934
|
+
pparamdescex = hints.AnnoField() # type: tagPARAMDESCEX
|
|
935
|
+
wParamFlags = hints.AnnoField() # type: int
|
|
820
936
|
|
|
821
937
|
class tagPARAMDESCEX(Structure):
|
|
822
938
|
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 601
|
|
823
|
-
|
|
939
|
+
if TYPE_CHECKING:
|
|
940
|
+
cBytes = hints.AnnoField() # type: int
|
|
941
|
+
varDefaultValue = hints.AnnoField() # type: VARIANTARG
|
|
824
942
|
LPPARAMDESCEX = POINTER(tagPARAMDESCEX)
|
|
825
943
|
|
|
826
944
|
tagPARAMDESC._fields_ = [
|
|
@@ -884,6 +1002,9 @@ tagPARAMDESCEX._fields_ = [
|
|
|
884
1002
|
|
|
885
1003
|
class tagSAFEARRAYBOUND(Structure):
|
|
886
1004
|
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 226
|
|
1005
|
+
if TYPE_CHECKING:
|
|
1006
|
+
cElements = hints.AnnoField() # type: int
|
|
1007
|
+
lLbound = hints.AnnoField() # type: int
|
|
887
1008
|
_fields_ = [
|
|
888
1009
|
('cElements', DWORD),
|
|
889
1010
|
('lLbound', LONG),
|
|
@@ -896,3 +1017,52 @@ tagARRAYDESC._fields_ = [
|
|
|
896
1017
|
('cDims', USHORT),
|
|
897
1018
|
('rgbounds', SAFEARRAYBOUND * 1),
|
|
898
1019
|
]
|
|
1020
|
+
|
|
1021
|
+
|
|
1022
|
+
__known_symbols__ = [
|
|
1023
|
+
'tagARRAYDESC', 'BINDPTR', 'tagBINDPTR', 'CALLCONV', 'tagCALLCONV',
|
|
1024
|
+
'CC_CDECL', 'CC_FASTCALL', 'CC_FPFASTCALL', 'CC_MACPASCAL', 'CC_MAX',
|
|
1025
|
+
'CC_MPWCDECL', 'CC_MPWPASCAL', 'CC_MSCPASCAL', 'CC_PASCAL', 'CC_STDCALL',
|
|
1026
|
+
'CC_SYSCALL', 'CreateTypeLib', 'DESCKIND', 'tagDESCKIND',
|
|
1027
|
+
'DESCKIND_FUNCDESC', 'DESCKIND_IMPLICITAPPOBJ', 'DESCKIND_MAX',
|
|
1028
|
+
'DESCKIND_NONE', 'DESCKIND_TYPECOMP', 'DESCKIND_VARDESC', 'ELEMDESC',
|
|
1029
|
+
'tagELEMDESC', 'FUNC_DISPATCH', 'FUNC_NONVIRTUAL', 'FUNC_PUREVIRTUAL',
|
|
1030
|
+
'FUNC_STATIC', 'FUNC_VIRTUAL', 'FUNCDESC', 'tagFUNCDESC',
|
|
1031
|
+
'FUNCFLAG_FBINDABLE', 'FUNCFLAG_FDEFAULTBIND', 'FUNCFLAG_FDEFAULTCOLLELEM',
|
|
1032
|
+
'FUNCFLAG_FDISPLAYBIND', 'FUNCFLAG_FHIDDEN', 'FUNCFLAG_FIMMEDIATEBIND',
|
|
1033
|
+
'FUNCFLAG_FNONBROWSABLE', 'FUNCFLAG_FREPLACEABLE', 'FUNCFLAG_FREQUESTEDIT',
|
|
1034
|
+
'FUNCFLAG_FRESTRICTED', 'FUNCFLAG_FSOURCE', 'FUNCFLAG_FUIDEFAULT',
|
|
1035
|
+
'FUNCFLAG_FUSESGETLASTERROR', 'FUNCFLAGS', 'tagFUNCFLAGS', 'FUNCKIND',
|
|
1036
|
+
'tagFUNCKIND', 'GetRecordInfoFromGuids', 'GetRecordInfoFromTypeInfo',
|
|
1037
|
+
'HREFTYPE', 'ICreateTypeInfo', 'ICreateTypeLib', 'ICreateTypeLib2',
|
|
1038
|
+
'IDLDESC', 'tagIDLDESC', 'IMPLTYPEFLAG_FDEFAULT',
|
|
1039
|
+
'IMPLTYPEFLAG_FDEFAULTVTABLE', 'IMPLTYPEFLAG_FRESTRICTED',
|
|
1040
|
+
'IMPLTYPEFLAG_FSOURCE', 'IProvideClassInfo', 'IProvideClassInfo2',
|
|
1041
|
+
'IRecordInfo', 'ITypeComp', 'ITypeInfo', 'ITypeLib', 'LoadRegTypeLib',
|
|
1042
|
+
'LoadTypeLib', 'LoadTypeLibEx', 'LPPARAMDESCEX', 'MEMBERID',
|
|
1043
|
+
'N10tagVARDESC5DOLLAR_205E', 'N11tagELEMDESC5DOLLAR_204E',
|
|
1044
|
+
'N11tagTYPEDESC5DOLLAR_203E', 'OLECHAR', 'PARAMDESC', 'tagPARAMDESC',
|
|
1045
|
+
'tagPARAMDESCEX', 'PARAMFLAG_FHASCUSTDATA', 'PARAMFLAG_FHASDEFAULT',
|
|
1046
|
+
'PARAMFLAG_FIN', 'PARAMFLAG_FLCID', 'PARAMFLAG_FOPT', 'PARAMFLAG_FOUT',
|
|
1047
|
+
'PARAMFLAG_FRETVAL', 'PARAMFLAG_NONE', 'PVOID', 'QueryPathOfRegTypeLib',
|
|
1048
|
+
'RegisterTypeLib', 'REGKIND', 'tagREGKIND', 'REGKIND_DEFAULT',
|
|
1049
|
+
'REGKIND_NONE', 'REGKIND_REGISTER', 'SAFEARRAYBOUND', 'tagSAFEARRAYBOUND',
|
|
1050
|
+
'SYS_MAC', 'SYS_WIN16', 'SYS_WIN32', 'SYS_WIN64', 'SYSKIND', 'tagSYSKIND',
|
|
1051
|
+
'TKIND_ALIAS', 'TKIND_COCLASS', 'TKIND_DISPATCH', 'TKIND_ENUM',
|
|
1052
|
+
'TKIND_INTERFACE', 'TKIND_MAX', 'TKIND_MODULE', 'TKIND_RECORD',
|
|
1053
|
+
'TKIND_UNION', 'tagTLIBATTR', 'TLIBATTR', 'tagTYPEATTR', 'TYPEATTR',
|
|
1054
|
+
'tagTYPEDESC', 'TYPEDESC', 'TYPEFLAG_FAGGREGATABLE', 'TYPEFLAG_FAPPOBJECT',
|
|
1055
|
+
'TYPEFLAG_FCANCREATE', 'TYPEFLAG_FCONTROL', 'TYPEFLAG_FDISPATCHABLE',
|
|
1056
|
+
'TYPEFLAG_FDUAL', 'TYPEFLAG_FHIDDEN', 'TYPEFLAG_FLICENSED',
|
|
1057
|
+
'TYPEFLAG_FNONEXTENSIBLE', 'TYPEFLAG_FOLEAUTOMATION',
|
|
1058
|
+
'TYPEFLAG_FPREDECLID', 'TYPEFLAG_FPROXY', 'TYPEFLAG_FREPLACEABLE',
|
|
1059
|
+
'TYPEFLAG_FRESTRICTED', 'TYPEFLAG_FREVERSEBIND', 'TYPEFLAGS',
|
|
1060
|
+
'tagTYPEFLAGS', 'TYPEKIND', 'tagTYPEKIND', 'ULONG_PTR',
|
|
1061
|
+
'UnRegisterTypeLib', 'VAR_CONST', 'VAR_DISPATCH', 'VAR_PERINSTANCE',
|
|
1062
|
+
'VAR_STATIC', 'VARDESC', 'tagVARDESC', 'VARFLAG_FBINDABLE',
|
|
1063
|
+
'VARFLAG_FDEFAULTBIND', 'VARFLAG_FDEFAULTCOLLELEM', 'VARFLAG_FDISPLAYBIND',
|
|
1064
|
+
'VARFLAG_FHIDDEN', 'VARFLAG_FIMMEDIATEBIND', 'VARFLAG_FNONBROWSABLE',
|
|
1065
|
+
'VARFLAG_FREADONLY', 'VARFLAG_FREPLACEABLE', 'VARFLAG_FREQUESTEDIT',
|
|
1066
|
+
'VARFLAG_FRESTRICTED', 'VARFLAG_FSOURCE', 'VARFLAG_FUIDEFAULT',
|
|
1067
|
+
'VARFLAGS', 'tagVARFLAGS', 'VARKIND', 'tagVARKIND',
|
|
1068
|
+
]
|