Compartilhar via


Função PropVariantToCLSID (propvarutil.h)

Extrai o valor da propriedade CLSID (identificador de classe) de uma estrutura PROPVARIANT .

Sintaxe

HRESULT PropVariantToCLSID(
  [in]  REFPROPVARIANT propvar,
  [out] CLSID          *pclsid
);

Parâmetros

[in] propvar

Tipo: REFPROPVARIANT

Referência a uma estrutura PROPVARIANT de origem .

[out] pclsid

Tipo: CLSID*

Quando essa função retorna, contém o valor da propriedade extraída, se houver.

Retornar valor

Tipo: HRESULT

Se essa função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Essa função auxiliar funciona para estruturasPROPVARIANT dos seguintes tipos:

  • VT_CLSID
  • VT_BSTR
  • VT_LPWSTR
  • VT_ARRAY | VT_UI1
Essa é uma função embutida, com seu código-fonte fornecido no cabeçalho . Ele não está incluído em nenhum arquivo .dll ou .lib.

PropVariantToCLSID é usado em locais onde o aplicativo de chamada espera que um PROPVARIANT mantenha um único valor CLSID ou GUID. Por exemplo, um aplicativo que obtém valores de um repositório de propriedades pode usá-lo para extrair com segurança o valor CLSID para propriedades GUID.

Exemplos

O exemplo a seguir, a ser incluído como parte de um programa maior, demonstra como usar PropVariantToCLSID para acessar um valor CLSID em um PROPVARIANT.

// 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.
        // PropVariantToCLSID will convert VT_EMPTY to a failure code.
        CLSID clsidCollectionID;

        hr = PropVariantToCLSID(propvar, &clsidCollectionID);
        if (SUCCEEDED(hr))
        {
             // clsidCollectionID is now valid
        }
        else
        {
            // the extraction failed
        }
        PropVariantClear(&propvar);
}

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP com SP2, Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 com SP1 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho propvarutil.h
Redistribuível Pesquisa da Área de Trabalho do Windows (WDS) 3.0

Confira também

InitPropVariantFromCLSID

PropVariantToGUID

VariantToGUID