[python-win32] info on _GetInterfaceCount
Matteo Boscolo
matteo.boscolo at boscolini.eu
Tue Oct 2 00:21:33 CEST 2012
I'm going on with my stydy, inspecting the gc..
the only object that seems very satrange is listed below.
ITDPropClass its the com object of the com application
there is somone that can tell me if i'm on the right way?
dose _vtables_ have a particular mening?
regards,
Matteo
42760064 <type 'dict'>
{'ITDPropClass_vtables_': [((u'Name', u'pVal'), 10, (10, (), [(16392,
10, None, None)], 1, 2, 4, 0, 60, (3, 0, None, None), 0)),
((u'SetValue', u'typeValue', u'maxElValue'), 11, (11, (), [(12, 1, None,
None), (3, 1, None, None)], 1, 1, 4, 0, 64, (3, 0, None, None), 0)),
((u'GetValue', u'typeValue', u'maxElValue'), 12, (12, (), [(16396, 2,
None, None), (16387, 2, None, None)], 1, 1, 4, 0, 68, (3, 0, None,
None), 0)), ((u'Description', u'pVal'), 13, (13, (), [(16392, 10, None,
None)], 1, 2, 4, 0, 72, (3, 0, None, None), 0)), ((u'Description',
u'pVal'), 13, (13, (), [(8, 1, None, None)], 1, 4, 4, 0, 76, (3, 0,
None, None), 0)), ((u'UsedBy', u'pVal'), 14, (14, (), [(24585, 10, None,
"IID('{D344208D-C991-11D3-BDD6-00500400405B}')")], 1, 2, 4, 0, 80, (3,
0, None, None), 0)), ((u'ClassReadable', u'pVal'), 15, (15, (), [(16395,
10, None, None)], 1, 2, 4, 0, 84, (3, 0, None, None), 0)),
((u'ClassReadable', u'pVal'), 15, (15, (), [(11, 1, None, None)], 1, 4,
4, 0, 88, (3, 0, None, None), 0)), ((u'ClassWritable', u'pVal'), 16,
(16, (), [(16395, 10, None, None)], 1, 2, 4, 0, 92, (3, 0, None, None),
0)), ((u'ClassWritable', u'pVal'), 16, (16, (), [(11, 1, None, None)],
1, 4, 4, 0, 96, (3, 0, None, None), 0)), ((u'ClassDeletable', u'pVal'),
17, (17, (), [(16395, 10, None, None)], 1, 2, 4, 0, 100, (3, 0, None,
None), 0)), ((u'ClassDeletable', u'pVal'), 17, (17, (), [(11, 1, None,
None)], 1, 4, 4, 0, 104, (3, 0, None, None), 0)),
((u'PropertyInheritance', u'pVal'), 18, (18, (), [(16395, 10, None,
None)], 1, 2, 4, 0, 108, (3, 0, None, None), 0)),
((u'PropertyInheritance', u'pVal'), 18, (18, (), [(11, 1, None, None)],
1, 4, 4, 0, 112, (3, 0, None, None), 0)), ((u'PropertyReadable',
u'pVal'), 19, (19, (), [(16395, 10, None, None)], 1, 2, 4, 0, 116, (3,
0, None, None), 0)), ((u'PropertyReadable', u'pVal'), 19, (19, (), [(11,
1, None, None)], 1, 4, 4, 0, 120, (3, 0, None, None), 0)),
((u'PropertyWritable', u'pVal'), 20, (20, (), [(16395, 10, None, None)],
1, 2, 4, 0, 124, (3, 0, None, None), 0)), ((u'PropertyWritable',
u'pVal'), 20, (20, (), [(11, 1, None, None)], 1, 4, 4, 0, 128, (3, 0,
None, None), 0)), ((u'PropertyDeletable', u'pVal'), 21, (21, (),
[(16395, 10, None, None)], 1, 2, 4, 0, 132, (3, 0, None, None), 0)),
((u'PropertyDeletable', u'pVal'), 21, (21, (), [(11, 1, None, None)], 1,
4, 4, 0, 136, (3, 0, None, None), 0)), ((u'ClassSubType', u'pVal'), 22,
(22, (), [(16387, 10, None, None)], 1, 2, 4, 0, 140, (3, 0, None, None),
0)), ((u'ClassSubType', u'pVal'), 22, (22, (), [(3, 1, None, None)], 1,
4, 4, 0, 144, (3, 0, None, None), 0)), ((u'ClassPrompt', u'pVal'), 23,
(23, (), [(16392, 10, None, None)], 1, 2, 4, 0, 148, (3, 0, None, None),
0)), ((u'ClassPrompt', u'pVal'), 23, (23, (), [(8, 1, None, None)], 1,
4, 4, 0, 152, (3, 0, None, None), 0)), ((u'SetStyle', u'pCase',
u'pFormat', u'pBlank'), 24, (24, (), [(3, 1, None, None), (3, 1, None,
None), (11, 1, None, None)], 1, 1, 4, 0, 156, (3, 0, None, None), 0)),
((u'GetStyle', u'pCase', u'pFormat', u'pBlank'), 25, (25, (), [(16387,
2, None, None), (16387, 2, None, None), (16395, 2, None, None)], 1, 1,
4, 0, 160, (3, 0, None, None), 0)), ((u'SetRange', u'minValue',
u'maxValue'), 26, (26, (), [(5, 1, None, None), (5, 1, None, None)], 1,
1, 4, 0, 164, (3, 0, None, None), 0)), ((u'GetRange', u'minValue',
u'maxValue'), 27, (27, (), [(16389, 2, None, None), (16389, 2, None,
None)], 1, 1, 4, 0, 168, (3, 0, None, None), 0))], 'python_version':
34014192, 'defaultUnnamedArg': <PyOleEmpty object at 0x01E49980>,
'defaultNamedNotOptArg': <PyOleEmpty object at 0x01E49980>, 'CLSID':
IID('{F4503A16-F637-11D2-BD55-00500400405B}'), 'LibraryFlags': 8,
'MinorVersion': 0, 'DispatchBaseClass': <class
win32com.client.DispatchBaseClass at 0x027AD228>, 'ITDPropClass': <class
win32com.gen_py.F4503A16-F637-11D2-BD55-00500400405Bx0x1x0.ITDPropClass.ITDPropClass
at 0x028C46F8>, '__package__':
'win32com.gen_py.F4503A16-F637-11D2-BD55-00500400405Bx0x1x0', 'IID':
<built-in function IID>, 'LCID': 0, 'makepy_version': '0.5.01',
'__doc__': 'think3 thinkdesign Type Library', '__builtins__':
{'bytearray': <type 'bytearray'>, 'IndexError': <type
'exceptions.IndexError'>, 'all': <built-in function all>, 'help': Type
help() for interactive help, or help(object) for help about object.,
'vars': <built-in function vars>, 'SyntaxError': <type
'exceptions.SyntaxError'>, 'unicode': <type 'unicode'>,
'UnicodeDecodeError': <type 'exceptions.UnicodeDecodeError'>,
'memoryview': <type 'memoryview'>, 'isinstance': <built-in function
isinstance>, 'copyright': Copyright (c) 2001-2012 Python Software
Foundation.
All Rights Reserved.
Copyright (c) 2000 BeOpen.com.
All Rights Reserved.
Copyright (c) 1995-2001 Corporation for National Research Initiatives.
All Rights Reserved.
Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam.
All Rights Reserved., 'NameError': <type 'exceptions.NameError'>,
'BytesWarning': <type 'exceptions.BytesWarning'>, 'dict': <type 'dict'>,
'input': <function input at 0x02077570>, 'oct': <built-in function oct>,
'bin': <built-in function bin>, 'SystemExit': <type
'exceptions.SystemExit'>, 'StandardError': <type
'exceptions.StandardError'>, 'format': <built-in function format>,
'repr': <built-in function repr>, 'sorted': <built-in function sorted>,
'False': False, 'RuntimeWarning': <type 'exceptions.RuntimeWarning'>,
'list': <type 'list'>, 'iter': <built-in function iter>, 'reload':
<built-in function reload>, 'Warning': <type 'exceptions.Warning'>,
'__package__': None, 'round': <built-in function round>, 'dir':
<built-in function dir>, 'cmp': <built-in function cmp>, 'set': <type
'set'>, 'bytes': <type 'str'>, 'reduce': <built-in function reduce>,
'intern': <built-in function intern>, 'issubclass': <built-in function
issubclass>, 'Ellipsis': Ellipsis, 'EOFError': <type
'exceptions.EOFError'>, 'locals': <built-in function locals>,
'BufferError': <type 'exceptions.BufferError'>, 'slice': <type 'slice'>,
'FloatingPointError': <type 'exceptions.FloatingPointError'>, 'sum':
<built-in function sum>, 'getattr': <built-in function getattr>, 'abs':
<built-in function abs>, 'exit': Use exit() or Ctrl-Z plus Return to
exit, 'print': <built-in function print>, 'True': True, 'FutureWarning':
<type 'exceptions.FutureWarning'>, 'ImportWarning': <type
'exceptions.ImportWarning'>, 'None': None, 'hash': <built-in function
hash>, 'ReferenceError': <type 'exceptions.ReferenceError'>, 'len':
<built-in function len>, 'credits': Thanks to CWI, CNRI, BeOpen.com,
Zope Corporation and a cast of thousands
for supporting Python development. See www.python.org for more
information., 'frozenset': <type 'frozenset'>, '__name__':
'__builtin__', 'ord': <built-in function ord>, 'super': <type 'super'>,
'TypeError': <type 'exceptions.TypeError'>, 'license': Type license() to
see the full license text, 'KeyboardInterrupt': <type
'exceptions.KeyboardInterrupt'>, 'UserWarning': <type
'exceptions.UserWarning'>, 'filter': <built-in function filter>,
'range': <built-in function range>, 'staticmethod': <type
'staticmethod'>, 'SystemError': <type 'exceptions.SystemError'>,
'BaseException': <type 'exceptions.BaseException'>, 'pow': <built-in
function pow>, 'RuntimeError': <type 'exceptions.RuntimeError'>,
'float': <type 'float'>, 'MemoryError': <type 'exceptions.MemoryError'>,
'StopIteration': <type 'exceptions.StopIteration'>, 'globals': <built-in
function globals>, 'divmod': <built-in function divmod>, 'enumerate':
<type 'enumerate'>, 'apply': <built-in function apply>, 'LookupError':
<type 'exceptions.LookupError'>, 'open': <built-in function open>,
'quit': Use quit() or Ctrl-Z plus Return to exit, 'basestring': <type
'basestring'>, 'UnicodeError': <type 'exceptions.UnicodeError'>, 'zip':
<built-in function zip>, 'hex': <built-in function hex>, 'long': <type
'long'>, 'next': <built-in function next>, 'ImportError': <type
'exceptions.ImportError'>, 'chr': <built-in function chr>, 'xrange':
<type 'xrange'>, 'type': <type 'type'>, '__doc__': "Built-in functions,
exceptions, and other objects.\n\nNoteworthy: None is the `nil' object;
Ellipsis represents `...' in slices.", 'Exception': <type
'exceptions.Exception'>, 'tuple': <type 'tuple'>,
'UnicodeTranslateError': <type 'exceptions.UnicodeTranslateError'>,
'reversed': <type 'reversed'>, 'UnicodeEncodeError': <type
'exceptions.UnicodeEncodeError'>, 'IOError': <type
'exceptions.IOError'>, 'hasattr': <built-in function hasattr>,
'delattr': <built-in function delattr>, 'setattr': <built-in function
setattr>, 'raw_input': <function raw_input at 0x02077530>,
'SyntaxWarning': <type 'exceptions.SyntaxWarning'>, 'compile': <built-in
function compile>, 'ArithmeticError': <type
'exceptions.ArithmeticError'>, 'str': <type 'str'>, 'property': <type
'property'>, 'GeneratorExit': <type 'exceptions.GeneratorExit'>, 'int':
<type 'int'>, '__import__': <built-in function __import__>, 'KeyError':
<type 'exceptions.KeyError'>, 'coerce': <built-in function coerce>,
'PendingDeprecationWarning': <type
'exceptions.PendingDeprecationWarning'>, 'file': <type 'file'>,
'EnvironmentError': <type 'exceptions.EnvironmentError'>, 'unichr':
<built-in function unichr>, 'id': <built-in function id>, 'OSError':
<type 'exceptions.OSError'>, 'DeprecationWarning': <type
'exceptions.DeprecationWarning'>, 'min': <built-in function min>,
'UnicodeWarning': <type 'exceptions.UnicodeWarning'>, 'execfile':
<built-in function execfile>, 'any': <built-in function any>, 'complex':
<type 'complex'>, 'bool': <type 'bool'>, 'ValueError': <type
'exceptions.ValueError'>, 'NotImplemented': NotImplemented, 'map':
<built-in function map>, 'buffer': <type 'buffer'>, 'max': <built-in
function max>, 'object': <type 'object'>, 'TabError': <type
'exceptions.TabError'>, 'callable': <built-in function callable>,
'ZeroDivisionError': <type 'exceptions.ZeroDivisionError'>, 'eval':
<built-in function eval>, '__debug__': True, 'IndentationError': <type
'exceptions.IndentationError'>, 'AssertionError': <type
'exceptions.AssertionError'>, 'classmethod': <type 'classmethod'>,
'UnboundLocalError': <type 'exceptions.UnboundLocalError'>,
'NotImplementedError': <type 'exceptions.NotImplementedError'>,
'AttributeError': <type 'exceptions.AttributeError'>, 'OverflowError':
<type 'exceptions.OverflowError'>, 'WindowsError': <type
'exceptions.WindowsError'>}, '__file__':
'C:\\Python27\\lib\\site-packages\\win32com\\gen_py\\F4503A16-F637-11D2-BD55-00500400405Bx0x1x0\\ITDPropClass.pyc',
'ITDPropClass_vtables_dispatch_': 1, '__name__':
'win32com.gen_py.F4503A16-F637-11D2-BD55-00500400405Bx0x1x0.ITDPropClass',
'pywintypes': <module 'pywintypes' from
'C:\Windows\system32\pywintypes27.dll'>, 'defaultNamedOptArg':
<PyOleEmpty object at 0x01E49980>, 'MajorVersion': 1, 'Dispatch':
<function Dispatch at 0x027BEDB0>, 'win32com': <module 'win32com' from
'C:\Python27\lib\site-packages\win32com\__init__.pyc'>, 'pythoncom':
<module 'pythoncom' from 'C:\Windows\system32\pythoncom27.dll'>}
Il 01/10/2012 03:41, Mark Hammond ha scritto:
> On 28/09/2012 10:42 PM, Matteo Boscolo wrote:
>> this is the log of part of my application
>>
>> DEBUG:root:__DEL__
>> DEBUG:root:pythoncom._GetInterfaceCount(): 4
>> DEBUG:root:pythoncom._GetGatewayCount(): 0|
>> DEBUG:Root:pythoncom.CoUninitialize()|
>> DEBUG:root:pythoncom._GetInterfaceCount(): 4
>> DEBUG:root:pythoncom._GetGatewayCount(): 0
>>
>> as you can see the GetInterfaceCount is still at 4 ..
>> there is a way to know witch object are the 4 that came from the
>> GetInterfaceCount ?
>
> Not directly - only a simple counter is tracked, not a list of what
> the objects are. If you are lucky, you might be able to use the 'gc'
> module to locate all live objects and see what you can find alive that
> "looks" like a COM object (but even that probably will not tell you
> where the reference actually lives)
>
> Mark
>
>>
>> regards,
>> matteo
>>
>>
>>
>> _______________________________________________
>> python-win32 mailing list
>> python-win32 at python.org
>> http://mail.python.org/mailman/listinfo/python-win32
>>
>
>
More information about the python-win32
mailing list