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

Возвращает идентификатор класса (CLSID) зарегистрированного обработчика свойств файла на компьютере.

Синтаксис

PSSTDAPI PSLookupPropertyHandlerCLSID(
  [in]  PCWSTR pszFilePath,
  [out] CLSID  *pclsid
);

Параметры

[in] pszFilePath

Тип: PCWSTR

Указатель на буфер Юникода, заканчивающийся null, который содержит абсолютный путь к файлу, обработчик свойств которого запрашивается CLSID.

[out] pclsid

Тип: CLSID*

При возврате этой функции содержит запрошенный обработчик свойств CLSID.

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

Тип: PSSTDAPI

Возвращает S_OK в случае успешного выполнения или значение ошибки в противном случае.

Комментарии

Сведения о том, как зарегистрировать обработчик, см. в разделе Инициализация обработчиков свойств.

Эта функция возвращает только обработчики, зарегистрированные в HKEY_LOCAL_MACHINE.

Большинству вызывающих приложений не нужно вызывать этот метод или использовать CoCreateInstance для создания обработчика свойств напрямую. Вместо этого вызывающие приложения должны использовать IShellItem2::GetPropertyStore для создания хранилища свойств для элемента оболочки в Windows Vista. IShellItem2::GetPropertyStore предоставляет наибольший набор доступных свойств для элемента оболочки и большинство параметров для настройки возвращаемых свойств.

Если для указанного файла не зарегистрирован обработчик свойств, эта функция возвращает код ошибки. В этом случае по-прежнему может быть возможно чтение определенных свойств файловой системы из хранилища свойств, возвращаемого из IShellItem2::GetPropertyStore.

Приложения, которым необходимо создать обработчик свойств на основе кода и которые должны выполняться как в Windows Vista, так и в Windows XP, могут вызывать PSGetItemPropertyHandler , чтобы создать хранилище свойств для элемента оболочки с помощью распространяемого компонента Поиска компьютеров Microsoft Windows (WDS).

Примеры

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

CLSID clsid;

HRESULT hr = PSLookupPropertyHandlerCLSID(L"C:\\windows\\system32\\shell32.dll", &clsid);

if (SUCCEEDED(hr))
{
    // clsid contains the CLSID of the property handler used for 
    // C:\windows\system32\shell32.dll.
}

Требования

   
Минимальная версия клиента 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

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

IShellItem2::GetPropertyStore

PSGetItemPropertyHandler