Share via


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

Weitere Informationen

ADSI-Fehlercodes

IADsExtension

IADsExtension::P rivateInvoke

IDispatch::GetIDsOfNames