ITypeInfo::GetTypeComp
A version of this page is also available for
4/8/2010
This method retrieves the ITypeComp interface for the type description, which enables a client compiler to bind to the type description's members.
Syntax
HRESULT GetTypeComp(
ITypeComp FAR* FAR* ppTComp
);
Parameters
- ppTComp
[out] Pointer to a pointer to the ITypeComp instance for this ITypeLib. A client compiler uses the methods in the ITypeComp interface to bind to types in ITypeLib, as well as to the global functions, variables, and constants defined in ITypeLib.
Return Value
The following table shows the return values for this function.
Value | Description |
---|---|
S_OK |
Success. |
E_OUTOFMEMORY |
Out of memory. |
E_INVALIDARG |
One or more of the parameters is invalid. |
TYPE_E_IOERROR |
The function could not read from the file. |
TYPE_E_INVDATAREAD |
Invalid data. |
TYPE_E_UNSUPFORMAT |
The type library has an older format. |
TYPE_E_INVALIDSTATE |
The type library could not be opened. |
TYPE_E_WRONGTYPEKIND |
Type mismatch. |
Remarks
The ITypeComp::Bind function of the returned TypeComp binds to global functions, variables, constants, enumerated values, and coclass members.
The Bind function also binds the names of the TYPEKIND enumerations of TKIND_MODULE, TKIND_ENUM, and TKIND_COCLASS. These names shadow any global names defined within the type information.
The members of TKIND_ENUM, TKIND_MODULE, and TKIND_COCLASS types marked as Application objects can be directly bound to from ITypeComp without specifying the name of the module.
Bind and ITypeComp::BindType accept only unqualified names. ITypeLib::GetTypeComp returns a pointer to the ITypeComp interface, which is then used to bind to global elements in the library.
The names of some types (TKIND_ENUM, TKIND_MODULE, and TKIND_COCLASS) share the name space with variables, functions, constants, and enumerators.
If a member requires qualification to differentiate it from other items in the name space, GetTypeComp can be called successively for each qualifier to bind to the member. This allows programming language compilers to access members of modules, enumerations, and coclasses, even though the member cannot be bound to with a qualified name.
Requirements
Header | oaidl.h, oaidl.idl |
Library | oleaut32.lib, uuid.lib |
Windows Embedded CE | Windows CE 2.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
See Also
Reference
ITypeInfo
ITypeComp
ITypeComp::Bind
ITypeComp::BindType
ITypeLib
ITypeLib::GetTypeComp
TYPEKIND