ITypeInfo::GetIDsOfNames

HRESULT GetIDsOfNames( 
  OLECHAR FAR* FAR*  rgszNames,  
  unsigned int  cNames,          
  MEMBERID FAR*  pMemId          
);
 

Maps between member names and member IDs, and parameter names and parameter IDs.

Parameters

rgszNames
Passed-in pointer to an array of names to be mapped.
cNames
Count of the names to be mapped.
pMemId
Caller-allocated array in which name mappings are placed.

Return Value

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

Return value Meaning
S_OK Success.
STG_E_INSUFFICIENTMEMORY Out of memory.
E_OUTOFMEMORY Out of memory.
E_INVALIDARG One or more of the arguments is invalid.
DISP_E_UNKNOWNNAME One or more of the names could not be found.
DISP_E_UNKNOWNLCID The locale identifier (LCID) could not be found in the OLE DLLs.
TYPE_E_IOERROR The function could not write to the file.
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_WRONGTYPEKIND Type mismatch.

Comments

The function GetIDsOfNames maps the name of a member (rgszNames[0]) and its parameters (rgszNames[1] ...rgszNames[cNames – 1]) to the ID of the member (rgid[0]), and to the IDs of the specified parameters (rgid[1] ... rgid[cNames – 1]). The IDs of parameters are 0 for the first parameter in the member function's argument list, 1 for the second, and so on.

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.