Freigeben über


ITDispatchMapper::QueryDispatchInterface-Methode (tapi3if.h)

Die QueryDispatchInterface-Methode gibt einen Dispatchzeiger auf eine andere Schnittstelle für ein Objekt zurück, wenn dessen GUID und der Dispatchzeiger einer anderen Schnittstelle für das Objekt angegeben sind.

Syntax

HRESULT QueryDispatchInterface(
  [in]  BSTR      pIID,
  [in]  IDispatch *pInterfaceToMap,
  [out] IDispatch **ppReturnedInterface
);

Parameter

[in] pIID

Zeiger auf die BSTR-Darstellung der GUID für die erforderliche Schnittstelle.

[in] pInterfaceToMap

IDispatch-Zeiger der Startschnittstelle.

[out] ppReturnedInterface

IDispatch-Zeiger der Schnittstelle, die der in pIID enthaltenen GUID entspricht.

Rückgabewert

Diese Methode kann einen dieser Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Methode war erfolgreich.
E_OUTOFMEMORY
Es ist nicht genügend Arbeitsspeicher vorhanden, um den Vorgang auszuführen.
E_INVALIDARG
Der pIID-Parameter ist entweder kein gültiger BSTR oder wird nicht in eine gültige GUID übersetzt.
E_NOINTERFACE
Die angeforderte Schnittstelle wird nicht verfügbar gemacht, oder das Objekt implementiert die IObjectSafety-Schnittstelle nicht.

Hinweise

Die Anwendung muss SysAllocString verwenden, um Arbeitsspeicher für den pIID-Parameter zuzuweisen, und SysFreeString muss den Arbeitsspeicher freigeben, wenn die Variable nicht mehr benötigt wird.

Der Dispatch Mapper verwendet die IObjectSafety-Schnittstelle des Objekts, um sicherzustellen, dass das Objekt für Skripts auf der angeforderten Schnittstelle sicher ist. Wenn das Objekt IObjectSafety nicht implementiert oder das Objekt auf dieser bestimmten Schnittstelle nicht sicher ist, schlägt der Aufruf fehl.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile tapi3if.h (Tapi3.h einschließen)
Bibliothek Uuid.lib
DLL Tapi3.dll

Weitere Informationen

ITDispatchMapper