Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Используется для получения указателя интерфейса, автоматически предоставляющего значение IID запрошенного интерфейса в зависимости от типа используемого указателя интерфейса. Это позволяет избежать распространенных ошибок кода, проверяя тип значения, передаваемого во время компиляции.
Синтаксис
void IID_PPV_ARGS(
T **ppType
);
Параметры
ppType
Адрес указателя интерфейса, тип T которого используется для определения типа запрашиваемого объекта. Макрос возвращает указатель интерфейса через этот параметр.
Возвращаемое значение
None
Remarks
Распространенный синтаксис в методах, которые извлекают указатель интерфейса (в первую очередь QueryInterface и CoCreateInstance), включает два параметра:
- Параметр [in], обычно имеющий тип REFIID, чтобы указать IID извлекаемого интерфейса.
- Параметр [out], как правило, типа void**, для получения указателя интерфейса.
Хотя Windows 7 является первым включением этого макроса в общедоступный заголовок, его можно использовать в старых системах, определив его вручную в заголовках проекта или исходном коде.
В следующем примере показано использование IID_PPV_ARGS для создания объекта хранилища свойств памяти с помощью IPropertyStore.
IPropertyStore *pPropertyStore;
CoCreateInstance(CLSID_PropertyStore, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pPropertyStore));
Требования
| Требование | Значение |
|---|---|
| Минимальная версия клиента | Windows 7 [только классические приложения] |
| Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
| Целевая платформа | Windows |
| Header | combaseapi.h |