Freigeben über


DispGetIDsOfNames

Dieser Dokumentation für die Vorschau nur ist und in späteren Versionen geändert. Leere Themen wurden als Platzhalter eingefügt.]

Verwendet Typinformationen, um eine Reihe von Namen in DISPIDs zu konvertieren. Dies ist die empfohlene Implementierung von IDispatch:: GetIDsOfNames.

HRESULT DispGetIDsOfNames(  
  ITypeInfo*  ptinfo,            
  OLECHAR FAR* FAR*  rgszNames,  
  unsigned int  cNames,          
  DISPID FAR*  rgdispid          
);

Parameter

  • ptinfo
    Zeiger auf die Typinformationen für eine Schnittstelle. Diese Typinformationen ist spezifisch für eine Schnittstelle und Sprache Code, sodass es nicht notwendig, übergeben Sie eine (Interface Identifier, IID) ist oder LCID zu dieser Funktion.

  • rgszNames
    Ein Array von Namenszeichenfolgen, die das gleiche Array werden können, die zu DispInvoke in die DISPPARAMS-Struktur übergeben. Wenn cNames größer als 1 ist, wird der erste Name als Namen einer Methode interpretiert und nachfolgende Namen werden als Parameter an die Methode interpretiert.

  • cNames
    Die Anzahl der Elemente in RgszNames.

  • rgdispid
    Zeiger auf ein Array von DISPIDs von dieser Funktion ausgefüllt werden. Die erste ID entspricht den Namen der Methode. Nachfolgende IDs werden als Parameter an die Methode interpretiert.

Rückgabewert

Der Rückgabewert vom zurückgegebenen HRESULT ist eine der folgenden:

Rückgabewert

Bedeutung

S_OK

Die Schnittstelle wird unterstützt.

E_INVALIDARG

Eines der Argumente ist ungültig.

DISP_E_UNKNOWNNAME

Eine oder mehrere der angegebenen Namen wurden nicht bekannt. Das zurückgegebene Array von DISPIDs enthält DISPID_UNKNOWN für jeden Eintrag, der einen unbekannten Namen entspricht.

Andere Rückgabecodes

ITypeInfo:: Invoke Fehler können auch zurückgegeben werden.

Beispiel

Diese aus den Zeilen Beispielcode Datei Points.cpp implementiert die Member-Funktion GetIDsOfNames für die CPoints-Klasse von DispGetIDsOfNames. Diese Implementierung beruht auf DispGetIdsOfNames Eingabeargumente überprüfen. Fügen Sie Code, die eine stabilere Validierung von den Eingabeargumenten durchführt, um Sicherheitsrisiken zu minimieren.

STDMETHODIMP
CPoints::GetIDsOfNames(
      REFIID riid,
      char FAR* FAR* rgszNames,
      UINT cNames,
      LCID lcid,
      DISPID FAR* rgdispid)
{
   return DispGetIDsOfNames(m_ptinfo, rgszNames, cNames, rgdispid);
}

Siehe auch

Referenz

DispInvoke

ITypeInfo:: Invoke

CreateStdDispatch

IDispatch:: GetIDsOfNames

Konzepte

Erstellen von Dispatch API-Funktionen

IDispatch-Schnittstelle