Метод ITDispatchMapper::QueryDispatchInterface (tapi3if.h)

Метод QueryDispatchInterface возвращает указатель диспетчеризации на другой интерфейс объекта с учетом его GUID и указателя диспетчеризации другого интерфейса объекта.

Синтаксис

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

Параметры

[in] pIID

Указатель на представление BSTR GUID для необходимого интерфейса.

[in] pInterfaceToMap

Указатель IDispatch начального интерфейса.

[out] ppReturnedInterface

Указатель IDispatch интерфейса, соответствующий ИДЕНТИФИКАТОРу GUID, содержащемуся в pIID.

Возвращаемое значение

Этот метод может возвращать одно из этих значений.

Код возврата Описание
S_OK
Метод успешно выполнен.
E_OUTOFMEMORY
Для выполнения операции недостаточно памяти.
E_INVALIDARG
Параметр pIID либо не является допустимым BSTR, либо не преобразуется в допустимый GUID.
E_NOINTERFACE
Запрошенный интерфейс не предоставляется или объект не реализует интерфейс IObjectSafety .

Комментарии

Приложение должно использовать SysAllocString для выделения памяти для параметра pIID и использовать SysFreeString , чтобы освободить память, когда переменная больше не нужна.

Диспетчер диспетчеризации будет использовать интерфейс IObjectSafety объекта, чтобы убедиться, что объект безопасен для создания скриптов в запрошенном интерфейсе. Если объект не реализует IObjectSafety или объект не является безопасным в этом конкретном интерфейсе, вызов завершится ошибкой.

Требования

Требование Значение
Целевая платформа Windows
Header tapi3if.h (включая Tapi3.h)
Библиотека Uuid.lib
DLL Tapi3.dll

См. также раздел

ITDispatchMapper