共用方式為


3.7.4.9 ITypeInfo::GetDllEntry (Opnum 13)

The GetDllEntry method retrieves values associated with a local-only method defined in a module.

 HRESULT GetDllEntry(
   [in] MEMBERID memid,
   [in] INVOKEKIND invKind,
   [in] DWORD refPtrFlags,
   [out] BSTR* pBstrDllName,
   [out] BSTR* pBstrName,
   [out] WORD* pwOrdinal
 );

memid: MUST be the MEMBERID of a method member of the module defined in the automation type library.

invKind: MUST be a value of the INVOKEKIND (section 2.2.14) enumeration that specifies a single property accessor method, if memid corresponds to a property with multiple accessors.

refPtrFlags: MUST be a combination of the bit flags specified in the following table, or 0.

Value

Meaning

TYPEINFO_DLLNameArg

0x00000001

MUST specify that the client is interested in the actual pBstrDllName [out] argument.

TYPEINFO_NameArg

0x00000002

MUST specify that the client is interested in the actual pBstrName [out] argument.

TYPEINFO_OrdinalArg

0x00000004

MUST specify that the client is interested in the actual pwOrdinal [out] argument.

pBstrDllName: MUST be set to the value associated with the method using the [dllname] attribute (see section 2.2.49.9) if the TYPEINFO_DllNameArg bit flag is set in refPtrFlags. MUST be set to a NULL BSTR otherwise.

pBstrName: MUST be set to the value associated with the method using the [entry] attribute (see section 2.2.49.9), if the associated value is a string and the TYPEINFO_NameArg bit flag is set in refPtrFlags. MUST be set to a NULL BSTR otherwise.

pwOrdinal: MUST be set to the value associated with the method using the [entry] attribute (see section 2.2.49.9), if the associated value is an integer and the TYPEINFO_OrdinalArg bit flag is set in refPtrFlags. MUST be set to 0 otherwise.

Return Values: The method MUST return information in an HRESULT data structure, defined in [MS-ERREF] section 2.1. The severity bit in the structure identifies the following conditions:

  • If the severity bit is set to 0, the method completed successfully.

  • If the severity bit is set to 1 and the entire HRESULT DWORD does not match a value in the following table, a fatal failure occurred.

  • If the severity bit is set to 1 and the entire HRESULT DWORD matches a value in the following table, a failure occurred.

    Return value/code

    Description

    0x800288BD

    TYPE_E_BADMODULEKIND

    The type is not a module. See [MS-ERREF].

    0x8002802C

    TYPE_E_AMBIGUOUSNAME

    The values of memid and invKind match more than one element in the binding context. See [MS-ERREF].

    0x8002802B

    TYPE_E_ELEMENTNOTFOUND

    The value of memid and invKind did not specify the ordinal position of an element in the interface table, or the type is not a coclass. See [MS-ERREF].