ITypeComp Interface

 

Home COM GDI+ WebBrowser Data Access

IID_ITypeComp

{00020402-0000-0000-C000-000000000046}

 

 

The ITypeComp interface provides a fast way to access information that compilers need when binding to and instantiating structures and interfaces. Binding is the process of mapping names to types and type members.

 

 

Methods in VTable order

IUnknown Methods

Description

QueryInterface

Returns pointers to supported interfaces.

AddRef

Increments reference count.

Release

Decrements reference count.

ITypeComp Methods

Description

Bind

Maps a name to a member of a type, or binds global variables and functions contained in a type library.

BindType

Binds to the type descriptions contained within a type library.

 

DESKIND Enumeration

 

%DESCKIND_NONE = 0
%DESCKIND_FUNCDESC = %DESCKIND_NONE + 1
%DESCKIND_VARDESC = %DESCKIND_FUNCDESC + 1
%DESCKIND_TYPECOMP = %DESCKIND_VARDESC + 1
%DESCKIND_IMPLICITAPPOBJ = %DESCKIND_TYPECOMP + 1
%DESCKIND_MAX = %DESCKIND_IMPLICITAPPOBJ + 1

 

 

BINDPTR Union

 

UNION BINDPTR
   lpfuncdesc AS FUNCDESC PTR
   lpvardesc AS VARDESC PTR
   lptcomp AS DWORD PTR
END UNION

 

 

Bind

 

FUNCTION ITypeComp_Bind ( _

  BYVAL pthis AS DWORD PTR _

, BYVAL strName AS STRING _

, BYVAL lHashVal AS DWORD _

, BYVAL wFlags AS WORD -

, BYREF ppTInfo AS DWORD _

, BYREF pDescKind AS LONG _

, BYREF pBindPtr AS DWORD _

  ) AS LONG

  LOCAL HRESULT AS LONG
  strName = UCODE$(strName & $NUL)
  CALL DWORD @@pthis[3] USING ITypeComp_Bind (pthis, strName, lHashVal, wFlags, ppTInfo, pDescKind, pBindPtr) TO HRESULT
  FUNCTION = HRESULT

END FUNCTION

 

 

BindType

 

FUNCTION ITypeComp_BindType ( _

  BYVAL pthis AS DWORD PTR _

, BYVAL strName AS STRING _

, BYVAL lHashVal AS DWORD _

, BYREF ppTInfo AS DWORD -

, BYREF ppTComp AS DWORD _

  ) AS LONG

  LOCAL HRESULT AS LONG
  strName = UCODE$(strName & $NUL)
  CALL DWORD @@pthis[4] USING ITypeComp_BindType (pthis, strName, lHashVal, ppTInfo, ppTComp) TO HRESULT
  FUNCTION = HRESULT

END FUNCTION

 

 

Page last updated on Monday, 27 March 2006 12:52:59 +0100