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
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 |