This section describes ITypeInfo, an interface typically used for reading information about objects. For example, an object browser tool can use ITypeInfo to extract information about the characteristics and capabilities of objects from type libraries.
The ITypeInfo interface inherits from the IUnknown interface. ITypeInfo also has these types of members:
The ITypeInfo interface has these methods.
|ITypeInfo::AddressOfMember||Retrieves the addresses of static functions or variables, such as those defined in a DLL.|
|ITypeInfo::CreateInstance||Creates a new instance of a type that describes a component object class (coclass).|
|ITypeInfo::GetContainingTypeLib||Retrieves the containing type library and the index of the type description within that type library.|
|ITypeInfo::GetDllEntry||Retrieves a description or specification of an entry point for a function in a DLL.|
|ITypeInfo::GetDocumentation||Retrieves the documentation string, the complete Help file name and path, and the context ID for the Help topic for a specified type description.|
|ITypeInfo::GetFuncDesc||Retrieves the FUNCDESC structure that contains information about a specified function.|
|ITypeInfo::GetIDsOfNames||Maps between member names and member IDs, and parameter names and parameter IDs.|
|ITypeInfo::GetImplTypeFlags||Retrieves the IMPLTYPEFLAGS enumeration for one implemented interface or base interface in a type description.|
|ITypeInfo::GetMops||Retrieves marshaling information.|
|ITypeInfo::GetNames||Retrieves the variable with the specified member ID or the name of the property or method and the parameters that correspond to the specified function ID.|
|ITypeInfo::GetRefTypeInfo||If a type description references other type descriptions, it retrieves the referenced type descriptions.|
|ITypeInfo::GetRefTypeOfImplType||If a type description describes a COM class, it retrieves the type description of the implemented interface types.|
|ITypeInfo::GetTypeAttr||Retrieves a TYPEATTR structure that contains the attributes of the type description.|
|ITypeInfo::GetTypeComp||Retrieves the ITypeComp interface for the type description, which enables a client compiler to bind to the type description's members.|
|ITypeInfo::GetVarDesc||Retrieves a VARDESC structure that describes the specified variable.|
|ITypeInfo::Invoke||Invokes a method, or accesses a property of an object, that implements the interface described by the type description.|
|ITypeInfo::ReleaseFuncDesc||Releases a FUNCDESC previously returned by ITypeInfo::GetFuncDesc.|
|ITypeInfo::ReleaseTypeAttr||Releases a TYPEATTR previously returned by ITypeInfo::GetTypeAttr.|
|ITypeInfo::ReleaseVarDesc||Releases a VARDESC previously returned by ITypeInfo::GetVarDesc.|
Type information interfaces are intended to describe the parts of the application that can be called by outside clients, rather than those that might be used internally to build an application.
The ITypeInfo interface provides access to the following:
- The set of function descriptions associated with the type. For interfaces, this contains the set of member functions in the interface.
- The set of data member descriptions associated with the type. For structures, this contains the set of fields of the type.
- The general attributes of the type, such as whether it describes a structure, an interface, and so on.
An instance of ITypeInfo provides various information about the type of an object, and is used in different ways. A compiler can use an ITypeInfo to compile references to members of the type. A type interface browser can use it to find information about each member of the type. An IDispatch implementor can use it to provide automatic delegation of IDispatch calls to an interface.