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


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

Извлекает каноническое имя свойства с учетом его PROPERTYKEY.

Синтаксис

PSSTDAPI PSGetNameFromPropertyKey(
  [in]  REFPROPERTYKEY propkey,
  [out] PWSTR          *ppszCanonicalName
);

Параметры

[in] propkey

Тип: REFPROPERTYKEY

Ссылка на структуру PROPERTYKEY , идентифицирующая запрошенное свойство.

[out] ppszCanonicalName

Тип: PWSTR*

При возврате этой функции содержит указатель на имя свойства в виде строки Юникода, заканчивающейся null.

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

Тип: HRESULT

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

Код возврата Описание
S_OK
Получается каноническое имя свойства.
TYPE_E_ELEMENTNOTFOUND
Указывает, что PROPERTYKEY не существует в кэше подсистемы схемы.

Комментарии

Извлекает каноническое имя для указанного ключа свойства. Как и ключи свойств, канонические имена однозначно идентифицируют свойство. Например, System.Keywords является каноническим именем для PKEY_Keywords. Эта функция выполняется успешно только для свойств, зарегистрированных как часть схемы свойств.

Вызывающее приложение обязано использовать CoTaskMemFree , чтобы освободить строку, на которую ссылается ppszCanonicalName , когда она больше не нужна.

Примеры

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

PWSTR pszName;

HRESULT hr = PSGetNameFromPropertyKey(PKEY_Keywords, &pszName);

if (SUCCEEDED(hr))
{
    // pszName now contains L"System.Keywords"
 
    CoTaskMemFree(pszName);
}

Требования

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

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

IPropertyDescription::GetCanonicalName

PSGetPropertyDescriptionByName

PSGetPropertyKeyFromName

PSStringFromPropertyKey