SmidgeonSoft Logo

Entry-points Using
PEBrowse Professional

COM Interface/Disassemble

Last But Not Least - COM Interface(s)/interface/Disassemble

You may be wondering about the "Display COM Interfaces?" option mentioned at the start of this write-up or the "COM Interface(s)" node displayed in the Index.  Expand the node now.  PEBrowse builds the nodes you see by calling CoCreateInstance on each interface in the module that is type, TKIND_COCLASS, by examining the type library and then by enumerating the functions in the interface.  Not all calls to CoCreateInstance will be successful as some fail with the HRESULT, REGDB_E_CLASSNOTREG:

A specified class is not registered in the registration database. Also can indicate
that the type of server you requested in the CLSCTX enumeration is not registered
or the values for the server types in the registry are corrupt.

If you wish to determine which interfaces failed, select the "Resources" node and expand it and the "TYPELIB" node.  Then from the main menu (or Index popup), select View/ODL for 1 and a new window containing the decompiled Object Description Language for MSSCRIPT.OCX will be created.  See Figure 14.

Figure 14

In this display of the 11th and final entry-point type I have disassembled the method, IScriptControl::GetIDsOfNames and positioned the ODL display at the appropriate location so that you will see the parameters and their type for this method.

prev page 1st page next page
Home | FAQ | News | Software | Documentation | SiteSearch | Licensing | Links | SiteIndex | AboutUs | ContactUs
Page best viewed at 1024x768.   Page last updated 2006-11-19.   This site is PIKT® powered.
Copyright © 1998-2006 Russell Osterlund.  All rights reserved.  SmidgeonSoft is a wholly-owned division of SmidgeonSoft, LLC.
Home FAQ News Software Documentation SiteSearch