ITypeInfo::AddressOfMember

HRESULT AddressOfMember( 
  MEMBERID  memid,     
  INVOKEKIND  invKind, 
  VOID FAR* FAR*  ppv  
);
 

Retrieves the addresses of static functions or variables, such as those defined in a DLL.

Parameters

memid
Member ID of the static member whose address is to be retrieved. The member ID is defined by the DISPID.
invKind
Specifies whether the member is a property, and if so, what kind.
ppv
On return, points to a pointer to the static member.

Return Value

The return value obtained from the returned HRESULT is one of the following:

Return value Meaning
S_OK Success.
E_OUTOFMEMORY Out of memory.
E_INVALIDARG One or more of the arguments is invalid.
TYPE_E_IOERROR The function could not read from the file.
TYPE_E_WRONGTYPEKIND Type mismatch.
TYPE_E_INVDATAREAD The function could not read from the file.
TYPE_E_UNSUPFORMAT The type library has an older format.
TYPE_E_INVALIDSTATE The type library could not be opened.
TYPE_E_ELEMENTNOTFOUND The element was not found.
TYPE_E_DLLFUNCTIONNOTFOUND The function could not be found in the DLL.
TYPE_E_CANTLOADLIBRARY The type library or DLL could not be loaded.

Comments

The addresses are valid until the caller releases its reference to the type description. The invKind parameter can be ignored unless the address of a property function is being requested.

If the type description inherits from another type description, this function is recursive to the base type description, if necessary, to find the item with the requested member ID.