ITypeLib::FindName

This method finds occurrences of a type description in a type library. This may be used to verify that a name exists in a type library.

At a Glance

Header file: Oaidl.h
Windows CE versions: 2.0 and later

Syntax

HRESULT FindName( OLECHAR FAR* szNameBuf,
unsigned long
lHashVal, ITypeInfo FAR* FAR* ppTInfo,
MEMBERID FAR*
rgMemId, unsigned int FAR* pcFound );

Parameters

szNameBuf

Null-terminated string that contains the name to search for.

lHashVal

Hash value to speed up the search, computed by the LHashValOfNameSys function. If lHashVal = 0, a value is computed.

ppTInfo

On return, an array of pointers to the type descriptions that contain the name specified in szNameBuf. Cannot be NULL.

rgMemId

Array of the MEMBERIDs of the found items; rgMemId[i] is the MEMBERID that indexes into the type description specified by ppTInfo[i]. Cannot be NULL.

pcFound

On entry, indicates how many instances to look for. For example, *pcFound = 1 can be called to find the first occurrence. The search stops when one is found.

On exit, indicates the number of instances that were found. If the in and out values of *pcFound are identical, there may be more type descriptions that contain the name.

Return Values

One of the values described in the following table is returned.

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 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_CANTLOADLIBRARY The library or .dll file could not be loaded.
TYPE_E_ELEMENTNOTFOUND The element was not found.

Remarks

Passing *pcFound = n indicates that there is enough room in the ppTInfo and rgMemId arrays for n (ptinfo, memid) pairs. The function returns MEMBERID_NIL in rgMemId[i], if the name in szNameBuf is the name of the type information in ppTInfo[i].