Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
STDMETHOD(HRESULT, 'SetHelpContext', [DWORD]),
STDMETHOD(HRESULT, 'SetVersion', [WORD, WORD]),
# STDMETHOD(HRESULT, 'AddRefTypeInfo', [POINTER(ITypeInfo), POINTER(HREFTYPE)]),
COMMETHOD([], HRESULT, 'AddRefTypeInfo',
(['in'], POINTER(ITypeInfo)),
(['out'], POINTER(HREFTYPE))),
STDMETHOD(HRESULT, 'AddFuncDesc', [UINT, POINTER(FUNCDESC)]),
STDMETHOD(HRESULT, 'AddImplType', [UINT, HREFTYPE]),
STDMETHOD(HRESULT, 'SetImplTypeFlags', [UINT, INT]),
STDMETHOD(HRESULT, 'SetAlignment', [WORD]),
STDMETHOD(HRESULT, 'SetSchema', [LPOLESTR]),
STDMETHOD(HRESULT, 'AddVarDesc', [UINT, POINTER(VARDESC)]),
STDMETHOD(HRESULT, 'SetFuncAndParamNames', [UINT, POINTER(c_wchar_p), UINT]),
STDMETHOD(HRESULT, 'SetVarName', [UINT, LPOLESTR]),
STDMETHOD(HRESULT, 'SetTypeDescAlias', [POINTER(TYPEDESC)]),
STDMETHOD(HRESULT, 'DefineFuncAsDllEntry', [UINT, LPOLESTR, LPOLESTR]),
STDMETHOD(HRESULT, 'SetFuncDocString', [UINT, LPOLESTR]),
STDMETHOD(HRESULT, 'SetVarDocString', [UINT, LPOLESTR]),
STDMETHOD(HRESULT, 'SetFuncHelpContext', [UINT, DWORD]),
STDMETHOD(HRESULT, 'SetVarHelpContext', [UINT, DWORD]),
STDMETHOD(HRESULT, 'SetMops', [UINT, BSTR]),
STDMETHOD(HRESULT, 'SetTypeIdldesc', [POINTER(IDLDESC)]),
STDMETHOD(HRESULT, 'LayOut', []),
]
class IProvideClassInfo(IUnknown):
_iid_ = GUID("{B196B283-BAB4-101A-B69C-00AA00341D07}")
_methods_ = [
# Returns the ITypeInfo interface for the object's coclass type information.
COMMETHOD([], HRESULT, "GetClassInfo",
( ['out'], POINTER(POINTER(ITypeInfo)), "ppTI" ) )
]
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 915
STDMETHOD(HRESULT, 'SetGuid', [POINTER(GUID)]),
STDMETHOD(HRESULT, 'SetTypeFlags', [UINT]),
STDMETHOD(HRESULT, 'SetDocString', [LPOLESTR]),
STDMETHOD(HRESULT, 'SetHelpContext', [DWORD]),
STDMETHOD(HRESULT, 'SetVersion', [WORD, WORD]),
# STDMETHOD(HRESULT, 'AddRefTypeInfo', [POINTER(ITypeInfo), POINTER(HREFTYPE)]),
COMMETHOD([], HRESULT, 'AddRefTypeInfo',
(['in'], POINTER(ITypeInfo)),
(['out'], POINTER(HREFTYPE))),
STDMETHOD(HRESULT, 'AddFuncDesc', [UINT, POINTER(FUNCDESC)]),
STDMETHOD(HRESULT, 'AddImplType', [UINT, HREFTYPE]),
STDMETHOD(HRESULT, 'SetImplTypeFlags', [UINT, INT]),
STDMETHOD(HRESULT, 'SetAlignment', [WORD]),
STDMETHOD(HRESULT, 'SetSchema', [LPOLESTR]),
STDMETHOD(HRESULT, 'AddVarDesc', [UINT, POINTER(VARDESC)]),
STDMETHOD(HRESULT, 'SetFuncAndParamNames', [UINT, POINTER(c_wchar_p), UINT]),
STDMETHOD(HRESULT, 'SetVarName', [UINT, LPOLESTR]),
STDMETHOD(HRESULT, 'SetTypeDescAlias', [POINTER(TYPEDESC)]),
STDMETHOD(HRESULT, 'DefineFuncAsDllEntry', [UINT, LPOLESTR, LPOLESTR]),
STDMETHOD(HRESULT, 'SetFuncDocString', [UINT, LPOLESTR]),
STDMETHOD(HRESULT, 'SetVarDocString', [UINT, LPOLESTR]),
STDMETHOD(HRESULT, 'SetFuncHelpContext', [UINT, DWORD]),
STDMETHOD(HRESULT, 'SetVarHelpContext', [UINT, DWORD]),
STDMETHOD(HRESULT, 'SetMops', [UINT, BSTR]),
STDMETHOD(HRESULT, 'SetTypeIdldesc', [POINTER(IDLDESC)]),
STDMETHOD(HRESULT, 'LayOut', []),
]
class IProvideClassInfo(IUnknown):
_iid_ = GUID("{B196B283-BAB4-101A-B69C-00AA00341D07}")
_methods_ = [
################################################################
# interface vtbl definitions
ICreateTypeLib._methods_ = [
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 2149
COMMETHOD([], HRESULT, 'CreateTypeInfo',
(['in'], LPOLESTR, 'szName'),
(['in'], TYPEKIND, 'tkind'),
(['out'], POINTER(POINTER(ICreateTypeInfo)), 'ppCTInfo')),
STDMETHOD(HRESULT, 'SetName', [LPOLESTR]),
STDMETHOD(HRESULT, 'SetVersion', [WORD, WORD]),
STDMETHOD(HRESULT, 'SetGuid', [POINTER(GUID)]),
STDMETHOD(HRESULT, 'SetDocString', [LPOLESTR]),
STDMETHOD(HRESULT, 'SetHelpFileName', [LPOLESTR]),
STDMETHOD(HRESULT, 'SetHelpContext', [DWORD]),
STDMETHOD(HRESULT, 'SetLcid', [LCID]),
STDMETHOD(HRESULT, 'SetLibFlags', [UINT]),
STDMETHOD(HRESULT, 'SaveAllChanges', []),
]
ICreateTypeLib2._methods_ = [
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 2444
STDMETHOD(HRESULT, 'DeleteTypeInfo', [POINTER(ITypeInfo)]),
STDMETHOD(HRESULT, 'SetCustData', [POINTER(GUID), POINTER(VARIANT)]),
STDMETHOD(HRESULT, 'SetHelpStringContext', [ULONG]),
STDMETHOD(HRESULT, 'SetHelpStringDll', [LPOLESTR]),
]
ITypeLib._methods_ = [
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 4455
COMMETHOD([], UINT, 'GetTypeInfoCount'),
COMMETHOD([], HRESULT, 'GetTypeInfo',
ITypeComp._methods_ = [
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 3090
STDMETHOD(HRESULT, 'Bind',
[LPOLESTR, DWORD, WORD, POINTER(POINTER(ITypeInfo)),
POINTER(DESCKIND), POINTER(BINDPTR)]),
STDMETHOD(HRESULT, 'BindType',
[LPOLESTR, DWORD, POINTER(POINTER(ITypeInfo)), POINTER(POINTER(ITypeComp))]),
]
ICreateTypeInfo._methods_ = [
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 915
STDMETHOD(HRESULT, 'SetGuid', [POINTER(GUID)]),
STDMETHOD(HRESULT, 'SetTypeFlags', [UINT]),
STDMETHOD(HRESULT, 'SetDocString', [LPOLESTR]),
STDMETHOD(HRESULT, 'SetHelpContext', [DWORD]),
STDMETHOD(HRESULT, 'SetVersion', [WORD, WORD]),
# STDMETHOD(HRESULT, 'AddRefTypeInfo', [POINTER(ITypeInfo), POINTER(HREFTYPE)]),
COMMETHOD([], HRESULT, 'AddRefTypeInfo',
(['in'], POINTER(ITypeInfo)),
(['out'], POINTER(HREFTYPE))),
STDMETHOD(HRESULT, 'AddFuncDesc', [UINT, POINTER(FUNCDESC)]),
STDMETHOD(HRESULT, 'AddImplType', [UINT, HREFTYPE]),
STDMETHOD(HRESULT, 'SetImplTypeFlags', [UINT, INT]),
STDMETHOD(HRESULT, 'SetAlignment', [WORD]),
STDMETHOD(HRESULT, 'SetSchema', [LPOLESTR]),
STDMETHOD(HRESULT, 'AddVarDesc', [UINT, POINTER(VARDESC)]),
STDMETHOD(HRESULT, 'SetFuncAndParamNames', [UINT, POINTER(c_wchar_p), UINT]),
STDMETHOD(HRESULT, 'SetVarName', [UINT, LPOLESTR]),
STDMETHOD(HRESULT, 'SetTypeDescAlias', [POINTER(TYPEDESC)]),
STDMETHOD(HRESULT, 'DefineFuncAsDllEntry', [UINT, LPOLESTR, LPOLESTR]),
STDMETHOD(HRESULT, 'SetFuncDocString', [UINT, LPOLESTR]),
The global interface table provides a way to marshal interface pointers
between different threading appartments.
"""
from ctypes import *
from comtypes import IUnknown, STDMETHOD, COMMETHOD, \
GUID, HRESULT, CoCreateInstance, CLSCTX_INPROC_SERVER
DWORD = c_ulong
class IGlobalInterfaceTable(IUnknown):
_iid_ = GUID("{00000146-0000-0000-C000-000000000046}")
_methods_ = [
STDMETHOD(HRESULT, "RegisterInterfaceInGlobal",
[POINTER(IUnknown), POINTER(GUID), POINTER(DWORD)]),
STDMETHOD(HRESULT, "RevokeInterfaceFromGlobal", [DWORD]),
STDMETHOD(HRESULT, "GetInterfaceFromGlobal",
[DWORD, POINTER(GUID), POINTER(POINTER(IUnknown))]),
]
def RegisterInterfaceInGlobal(self, obj, interface=IUnknown):
cookie = DWORD()
self.__com_RegisterInterfaceInGlobal(obj, interface._iid_, cookie)
return cookie.value
def GetInterfaceFromGlobal(self, cookie, interface=IUnknown):
ptr = POINTER(interface)()
self.__com_GetInterfaceFromGlobal(cookie, interface._iid_, ptr)
return ptr
def RevokeInterfaceFromGlobal(self, cookie):
self.__com_RevokeInterfaceFromGlobal(cookie)
(['in'], POINTER(ITypeInfo)),
(['out'], POINTER(HREFTYPE))),
STDMETHOD(HRESULT, 'AddFuncDesc', [UINT, POINTER(FUNCDESC)]),
STDMETHOD(HRESULT, 'AddImplType', [UINT, HREFTYPE]),
STDMETHOD(HRESULT, 'SetImplTypeFlags', [UINT, INT]),
STDMETHOD(HRESULT, 'SetAlignment', [WORD]),
STDMETHOD(HRESULT, 'SetSchema', [LPOLESTR]),
STDMETHOD(HRESULT, 'AddVarDesc', [UINT, POINTER(VARDESC)]),
STDMETHOD(HRESULT, 'SetFuncAndParamNames', [UINT, POINTER(c_wchar_p), UINT]),
STDMETHOD(HRESULT, 'SetVarName', [UINT, LPOLESTR]),
STDMETHOD(HRESULT, 'SetTypeDescAlias', [POINTER(TYPEDESC)]),
STDMETHOD(HRESULT, 'DefineFuncAsDllEntry', [UINT, LPOLESTR, LPOLESTR]),
STDMETHOD(HRESULT, 'SetFuncDocString', [UINT, LPOLESTR]),
STDMETHOD(HRESULT, 'SetVarDocString', [UINT, LPOLESTR]),
STDMETHOD(HRESULT, 'SetFuncHelpContext', [UINT, DWORD]),
STDMETHOD(HRESULT, 'SetVarHelpContext', [UINT, DWORD]),
STDMETHOD(HRESULT, 'SetMops', [UINT, BSTR]),
STDMETHOD(HRESULT, 'SetTypeIdldesc', [POINTER(IDLDESC)]),
STDMETHOD(HRESULT, 'LayOut', []),
]
class IProvideClassInfo(IUnknown):
_iid_ = GUID("{B196B283-BAB4-101A-B69C-00AA00341D07}")
_methods_ = [
# Returns the ITypeInfo interface for the object's coclass type information.
COMMETHOD([], HRESULT, "GetClassInfo",
( ['out'], POINTER(POINTER(ITypeInfo)), "ppTI" ) )
]
class IProvideClassInfo2(IProvideClassInfo):
_iid_ = GUID("{A6BC3AC0-DBAA-11CE-9DE3-00AA004BB851}")
_methods_ = [
STDMETHOD(HRESULT, 'SetVersion', [WORD, WORD]),
STDMETHOD(HRESULT, 'SetGuid', [POINTER(GUID)]),
STDMETHOD(HRESULT, 'SetDocString', [LPOLESTR]),
STDMETHOD(HRESULT, 'SetHelpFileName', [LPOLESTR]),
STDMETHOD(HRESULT, 'SetHelpContext', [DWORD]),
STDMETHOD(HRESULT, 'SetLcid', [LCID]),
STDMETHOD(HRESULT, 'SetLibFlags', [UINT]),
STDMETHOD(HRESULT, 'SaveAllChanges', []),
]
ICreateTypeLib2._methods_ = [
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 2444
STDMETHOD(HRESULT, 'DeleteTypeInfo', [POINTER(ITypeInfo)]),
STDMETHOD(HRESULT, 'SetCustData', [POINTER(GUID), POINTER(VARIANT)]),
STDMETHOD(HRESULT, 'SetHelpStringContext', [ULONG]),
STDMETHOD(HRESULT, 'SetHelpStringDll', [LPOLESTR]),
]
ITypeLib._methods_ = [
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 4455
COMMETHOD([], UINT, 'GetTypeInfoCount'),
COMMETHOD([], HRESULT, 'GetTypeInfo',
(['in'], UINT, 'index'),
(['out'], POINTER(POINTER(ITypeInfo)))),
COMMETHOD([], HRESULT, 'GetTypeInfoType',
(['in'], UINT, 'index'),
(['out'], POINTER(TYPEKIND))),
COMMETHOD([], HRESULT, 'GetTypeInfoOfGuid',
(['in'], POINTER(GUID)),
(['out'], POINTER(POINTER(ITypeInfo)))),
COMMETHOD([], HRESULT, 'GetLibAttr',
(['out'], POINTER(POINTER(TLIBATTR)))),
STDMETHOD(HRESULT, "OnDocWindowActivate", [BOOL]),
STDMETHOD(HRESULT, "OnFrameWindowActivate", [BOOL]),
STDMETHOD(HRESULT, "ResizeBorder", [DWORD, DWORD, BOOL]),
STDMETHOD(HRESULT, "TranslateAccelerator", [POINTER(MSG), POINTER(GUID), DWORD]),
STDMETHOD(HRESULT, "GetOptionKeyPath", [DWORD, DWORD]),
STDMETHOD(HRESULT, "GetDropTarget", [DWORD, DWORD]),
STDMETHOD(HRESULT, "GetExternal", [POINTER(POINTER(IDispatch))]),
STDMETHOD(HRESULT, "TranslateUrl", [DWORD, DWORD, DWORD]),
STDMETHOD(HRESULT, "FilterDataObject", [WORD, DWORD]),
]
class ICustomDoc(IUnknown):
_iid_ = GUID("{3050F3F0-98B5-11CF-BB82-00AA00BDCE0B}")
ICustomDoc._methods_ = IUnknown._methods_ + [
STDMETHOD(HRESULT, "SetUIHandler", [POINTER(IDocHostUIHandler)])
]
from ie6_gen import DWebBrowserEvents2, IWebBrowser2
class Browser(AxWindow, dispinterface_EventReceiver):
"""Internet Explorer as ActiveX Control"""
_window_style_ = AxWindow._window_style_ | WS_HSCROLL | WS_VSCROLL
_com_interfaces_ = [DWebBrowserEvents2]
def __init__(self, url = "about:blank", *args, **kwargs):
kwargs['ctrlId'] = url #if url is passed to axwindow, IE control is launched
AxWindow.__init__(self, *args, **kwargs)
dispinterface_EventReceiver.__init__(self)
pUnk = self.GetControl() #IUnknown of IE
[LPOLESTR, DWORD, POINTER(POINTER(ITypeInfo)), POINTER(POINTER(ITypeComp))]),
]
ICreateTypeInfo._methods_ = [
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 915
STDMETHOD(HRESULT, 'SetGuid', [POINTER(GUID)]),
STDMETHOD(HRESULT, 'SetTypeFlags', [UINT]),
STDMETHOD(HRESULT, 'SetDocString', [LPOLESTR]),
STDMETHOD(HRESULT, 'SetHelpContext', [DWORD]),
STDMETHOD(HRESULT, 'SetVersion', [WORD, WORD]),
# STDMETHOD(HRESULT, 'AddRefTypeInfo', [POINTER(ITypeInfo), POINTER(HREFTYPE)]),
COMMETHOD([], HRESULT, 'AddRefTypeInfo',
(['in'], POINTER(ITypeInfo)),
(['out'], POINTER(HREFTYPE))),
STDMETHOD(HRESULT, 'AddFuncDesc', [UINT, POINTER(FUNCDESC)]),
STDMETHOD(HRESULT, 'AddImplType', [UINT, HREFTYPE]),
STDMETHOD(HRESULT, 'SetImplTypeFlags', [UINT, INT]),
STDMETHOD(HRESULT, 'SetAlignment', [WORD]),
STDMETHOD(HRESULT, 'SetSchema', [LPOLESTR]),
STDMETHOD(HRESULT, 'AddVarDesc', [UINT, POINTER(VARDESC)]),
STDMETHOD(HRESULT, 'SetFuncAndParamNames', [UINT, POINTER(c_wchar_p), UINT]),
STDMETHOD(HRESULT, 'SetVarName', [UINT, LPOLESTR]),
STDMETHOD(HRESULT, 'SetTypeDescAlias', [POINTER(TYPEDESC)]),
STDMETHOD(HRESULT, 'DefineFuncAsDllEntry', [UINT, LPOLESTR, LPOLESTR]),
STDMETHOD(HRESULT, 'SetFuncDocString', [UINT, LPOLESTR]),
STDMETHOD(HRESULT, 'SetVarDocString', [UINT, LPOLESTR]),
STDMETHOD(HRESULT, 'SetFuncHelpContext', [UINT, DWORD]),
STDMETHOD(HRESULT, 'SetVarHelpContext', [UINT, DWORD]),
STDMETHOD(HRESULT, 'SetMops', [UINT, BSTR]),
STDMETHOD(HRESULT, 'SetTypeIdldesc', [POINTER(IDLDESC)]),
STDMETHOD(HRESULT, 'LayOut', []),
]
(['in'], POINTER(VARDESC))),
]
ITypeComp._methods_ = [
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 3090
STDMETHOD(HRESULT, 'Bind',
[LPOLESTR, DWORD, WORD, POINTER(POINTER(ITypeInfo)),
POINTER(DESCKIND), POINTER(BINDPTR)]),
STDMETHOD(HRESULT, 'BindType',
[LPOLESTR, DWORD, POINTER(POINTER(ITypeInfo)), POINTER(POINTER(ITypeComp))]),
]
ICreateTypeInfo._methods_ = [
# C:/Programme/gccxml/bin/Vc71/PlatformSDK/oaidl.h 915
STDMETHOD(HRESULT, 'SetGuid', [POINTER(GUID)]),
STDMETHOD(HRESULT, 'SetTypeFlags', [UINT]),
STDMETHOD(HRESULT, 'SetDocString', [LPOLESTR]),
STDMETHOD(HRESULT, 'SetHelpContext', [DWORD]),
STDMETHOD(HRESULT, 'SetVersion', [WORD, WORD]),
# STDMETHOD(HRESULT, 'AddRefTypeInfo', [POINTER(ITypeInfo), POINTER(HREFTYPE)]),
COMMETHOD([], HRESULT, 'AddRefTypeInfo',
(['in'], POINTER(ITypeInfo)),
(['out'], POINTER(HREFTYPE))),
STDMETHOD(HRESULT, 'AddFuncDesc', [UINT, POINTER(FUNCDESC)]),
STDMETHOD(HRESULT, 'AddImplType', [UINT, HREFTYPE]),
STDMETHOD(HRESULT, 'SetImplTypeFlags', [UINT, INT]),
STDMETHOD(HRESULT, 'SetAlignment', [WORD]),
STDMETHOD(HRESULT, 'SetSchema', [LPOLESTR]),
STDMETHOD(HRESULT, 'AddVarDesc', [UINT, POINTER(VARDESC)]),
STDMETHOD(HRESULT, 'SetFuncAndParamNames', [UINT, POINTER(c_wchar_p), UINT]),
STDMETHOD(HRESULT, 'SetVarName', [UINT, LPOLESTR]),
STDMETHOD(HRESULT, 'SetTypeDescAlias', [POINTER(TYPEDESC)]),