Condividi tramite


Funzione PropVariantToCLSID (propvarutil.h)

Estrae il valore della proprietà CLSID (Class Identifier) di una struttura PROPVARIANT .

Sintassi

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

Parametri

[in] propvar

Tipo: REFPROPVARIANT

Riferimento a una struttura PROPVARIANT di origine.

[out] pclsid

Tipo: CLSID*

Quando questa funzione restituisce, contiene il valore della proprietà estratta se presente.

Valore restituito

Tipo: HRESULT

Se questa funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Questa funzione helper funziona per le strutturePROPVARIANT dei tipi seguenti:

  • VT_CLSID
  • VT_BSTR
  • VT_LPWSTR
  • VT_ARRAY | VT_UI1
Si tratta di una funzione inline, con il relativo codice sorgente fornito nell'intestazione. Non è incluso in alcun file .dll o lib.

PropVariantToCLSID viene usato in posizioni in cui l'applicazione chiamante prevede che un PROPVARIANT contenga un singolo valore CLSID o GUID. Ad esempio, un'applicazione che ottiene valori da un archivio proprietà può usarla per estrarre in modo sicuro il valore CLSID per le proprietà GUID.

Esempio

L'esempio seguente, da includere come parte di un programma più grande, illustra come usare PropVariantToCLSID per accedere a un valore CLSID in un 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);
}

Requisiti

Requisito Valore
Client minimo supportato Windows XP con SP2, Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2003 con SP1 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione propvarutil.h
Componente ridistribuibile Windows Desktop Search (WDS) 3.0

Vedi anche

InitPropVariantFromCLSID

PropVariantToGUID

VariantToGUID