Поделиться через


структура MULTI_QI (objidl.h)

Представляет интерфейс в запросе для нескольких интерфейсов.

Синтаксис

typedef struct tagMULTI_QI {
  const IID *pIID;
  IUnknown  *pItf;
  HRESULT   hr;
} MULTI_QI;

Члены

pIID

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

pItf

Указатель на интерфейс, запрошенный в pIID. Для входных данных этот элемент должен иметь значение NULL .

hr

Возвращаемое значение вызова QueryInterface для поиска запрошенного интерфейса. К общим возвращаемым значениям относятся S_OK и E_NOINTERFACE. Этот элемент должен иметь значение 0 для входных данных.

Комментарии

Для оптимизации производительности сети большинство функций удаленной активации принимают в качестве входных данных массив MULTI_QI структур, а не один идентификатор IID и один указатель на запрошенный интерфейс в объекте в качестве выходных данных, как и функции локальной активации. Это позволяет возвращать набор указателей на интерфейсы из одного и того же объекта в одном круговом пути на сервер. В сетевых сценариях запрос нескольких интерфейсов во время создания объекта может значительно сэкономить время за счет использования ряда вызовов QueryInterface для уникальных интерфейсов, каждый из которых потребует кругового пути к серверу.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Профессиональная [классические приложения | Приложения UWP]
Минимальная версия сервера Windows 2000 Server [классические приложения | Приложения UWP]
Верхняя часть objidl.h (включая Objidl.h)

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

CoCreateInstanceEx

CoGetInstanceFromFile

CoGetInstanceFromiStorage

IMultiQI