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


Функция PSGetPropertySystem (propsys.h)

Возвращает экземпляр объекта подсистемы, реализующего IPropertySystem.

Синтаксис

PSSTDAPI PSGetPropertySystem(
  [in]  REFIID riid,
  [out] void   **ppv
);

Параметры

[in] riid

Тип: REFIID

Ссылка на IID запрошенного интерфейса.

[out] ppv

Тип: void**

При возврате этой функции содержит указатель интерфейса, запрошенный в riid. Обычно это IPropertySystem.

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

Тип: PSSTDAPI

Возвращает одно из следующих значений.

Код возврата Описание
S_OK
Интерфейс получен.
E_INVALIDARG
Параметр ppv имеет значение NULL.

Комментарии

Перед вызовом PSGetPropertySystem необходимо инициализировать компонентную объектную модель (COM) с помощью CoInitialize или OleInitialize. COM должен оставаться инициализированным в течение всего времени существования этого объекта. Объект системы свойств агрегирует свободнопотоковой маршализатор и является потокобезопасным.

Для упаковки параметров riid и ppv рекомендуется использовать макрос IID_PPV_ARGS, определенный в Objbase.h. Этот макрос предоставляет правильный IID на основе интерфейса, на который указывает значение в ppv, что исключает возможность ошибки кода.

Примеры

В следующем примере, который будет включен в состав более крупной программы, показано, как использовать PSGetPropertySystem.

IPropertySystem *pSystem;

HRESULT hr = PSGetPropertySystem(IID_PPV_ARGS(&pSystem));

if (SUCCEEDED(hr))
{
    // pSystem is now valid.
 
    pSystem->Release();
}

Требования

   
Минимальная версия клиента Windows XP с пакетом обновления 2 (SP2), Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2003 с пакетом обновления 1 (SP1) [только классические приложения]
Целевая платформа Windows
Header propsys.h
Библиотека Propsys.lib
DLL Propsys.dll (версия 6.0 или более поздняя)
Распространяемые компоненты Windows Desktop Search (WDS) 3.0