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


Функция PropVariantToGUID (propvarutil.h)

Извлекает значение GUID из структуры PROPVARIANT .

Синтаксис

PSSTDAPI PropVariantToGUID(
  [in]  REFPROPVARIANT propvar,
  [out] GUID           *pguid
);

Параметры

[in] propvar

Тип: REFPROPVARIANT

Ссылка на исходную структуру PROPVARIANT .

[out] pguid

Тип: GUID*

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

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

Тип: HRESULT

Если эта функция выполняется успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Эта вспомогательская функция работает для структурPROPVARIANT следующих типов:

  • VT_GUID
  • VT_BSTR
  • VT_LPWSTR
  • VT_ARRAY | VT_UI1

PropVariantToGUID используется в тех местах, где вызывающее приложение ожидает, что PROPVARIANT будет содержать одно значение GUID или GUID . Например, приложение, получающее значения из хранилища свойств, может использовать его для безопасного извлечения значения GUID для свойств GUID .

Примеры

// IPropertyStore *ppropstore;

// Assume variable ppropstore is initialized and valid

PROPVARIANT propvar = {0};

HRESULT hr = ppropstore->GetValue(PKEY_Sync_HandlerCollectionID, &propvar);

if (SUCCEEDED(hr))

{

        // PKEY_Sync_HandlerCollectionID is expected to produce a VT_CLSID or VT_EMPTY value.

        // PropVariantToGUID will convert VT_EMPTY to a failure code.

        GUID guidCollectionID;

        hr = PropVariantToGUID(propvar, &guidCollectionID);

        if (SUCCEEDED(hr))

        {

             // guidCollectionID is now valid

        }

        else

        {

            // the extraction failed

        }

        PropVariantClear(&propvar);

}

Требования

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

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

InitPropVariantFromCLSID

PropVariantToCLSID

VariantToGUID