IADsExtension::P rivateGetIDsOfNames-Methode (iads.h)
Die IADsExtension::P rivateGetIDsOfNames-Methode wird vom Aggregator ADSI aufgerufen, nachdem ADSI festgestellt hat, dass die Erweiterung zur Unterstützung einer Dual- oder Dispatch-Schnittstelle verwendet wird. Die -Methode kann die Typdaten verwenden, um DISPID mithilfe von IDispatch::GetIDsOfNames abzurufen.
Syntax
HRESULT PrivateGetIDsOfNames(
REFIID riid,
OLECHAR **rgszNames,
unsigned int cNames,
LCID lcid,
DISPID *rgDispid
);
Parameter
riid
Für die zukünftige Verwendung reserviert. Es muss IID_NULL sein.
rgszNames
Das übergebene Array von zuzuordnenden Namen.
cNames
Die Anzahl der zuzuordnenden Namen.
lcid
Der Gebietsschemakontext, in dem die Namen interpretiert werden sollen.
rgDispid
Vom Aufrufer zugewiesenes Array, dessen jedes Element einen Bezeichner enthält, der einem der im Array rgszNames übergebenen Namen entspricht. Das erste Element stellt den Membernamen dar. Die nachfolgenden Elemente stellen die parameter des Elements dar.
Rückgabewert
Die Rückgabewerte sind mit denen der IDispatch::GetIDsOfNames-Standardmethode identisch. Weitere Informationen zu anderen Rückgabewerten finden Sie unter ADSI-Fehlercodes.
Hinweise
Alle Parameter haben die gleiche Bedeutung wie die entsprechenden Parameter in der Standard-IDispatch::GetIDsOfNames(). Die Erweiterungskomponente gibt einen eindeutigen Bezeichner (rgDispID) für jede Methode oder Eigenschaft zurück, die in den unterstützten dualen Schnittstellen definiert ist. Die Eindeutigkeit wird innerhalb der Erweiterungskomponente erzwungen. Der ADSI-Anbieter muss die Eindeutigkeit der DISPIDs aller Erweiterungsobjekte und des Aggregators (ADSI) selbst sicherstellen. Der rgDispID-Parameter muss zwischen 1 und 16777215 (2^24-1) oder -1 (DISPID_UNKNOWN) sein.
Beispiele
Das folgende C/C++-Codebeispiel zeigt eine generische Implementierung dieser Methode.
STDMETHOD(PrivateGetIDsOfNames)(REFIID riid, OLECHAR ** rgszNames, unsigned int cNames, LCID lcid, DISPID * rgdispid)
{
if (rgdispid == NULL)
{
return E_POINTER;
}
return DispGetIDsOfNames(m_pTypeInfo, rgszNames, cNames, rgdispid);
}
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista |
Unterstützte Mindestversion (Server) | Windows Server 2008 |
Zielplattform | Windows |
Kopfzeile | iads.h |
DLL | Activeds.dll |