Metodo IEnumCERTVIEWEXTENSION::GetValue (certview.h)
Il metodo GetValue recupera il valore dell'estensione corrente nella sequenza di enumerazione dell'estensione.
Sintassi
HRESULT GetValue(
[in] LONG Type,
[in] LONG Flags,
[out] VARIANT *pvarValue
);
Parametri
[in] Type
Tipo di dati per i dati restituiti. Questo parametro può essere usato per specificare che i dati dell'estensione vengano decodificati prima di essere restituiti. Se viene specificato PROPTYPE_BINARY, i dati non vengono decodificati ma restituiti nel formato non elaborato.
Specificare uno dei valori seguenti.
[in] Flags
Contrassegno che indica il formato di output per i dati restituiti. Questo parametro può avere uno dei valori seguenti.
[out] pvarValue
Puntatore a un valore di tipo VARIANT che contiene i dati per l'estensione a cui si fa riferimento. Questo metodo ha esito negativo se il parametro pvarValue è NULL. Al termine di questa funzione, pvarValue contiene i dati di estensione attualmente a cui fa riferimento la sequenza di enumerazione dell'estensione. Il chiamante è responsabile della chiamata a VariantClear quando viene eseguito con i dati in pvarValue.
Valore restituito
C++
Se il metodo ha esito positivo, il metodo restituisce S_OK.Se il metodo ha esito negativo, restituisce un valore HRESULT che indica l'errore. Per un elenco di codici di errore comuni, vedere Valori HRESULT comuni.
VB
Il valore restituito è un valore Variant che rappresenta i dati nell'estensione.Commenti
Questo metodo viene usato per recuperare i dati nell'estensione a cui fa riferimento la sequenza di enumerazione dell'estensione.
Se la sequenza di enumerazione dell'estensione non fa riferimento a un'estensione valida, GetValue ha esito negativo. Usare uno dei metodi seguenti per esplorare l'enumerazione:
- IEnumCERTVIEWEXTENSION::Reset: Passa all'estensione successiva nella sequenza di enumerazione.
- IEnumCERTVIEWEXTENSION::Next: Passa all'estensione successiva nella sequenza di enumerazione.
- IEnumCERTVIEWEXTENSION::Skip: Ignora un numero specificato di estensioni.
Esempio
VARIANT var;
LONG Index;
HRESULT hr;
SYSTEMTIME systime;
VariantInit(&var);
// Enumerate each extension
// pEnumExt is previously instantiated IEnumCERTVIEWEXTENSION object
while (S_OK == pEnumExt->Next(&Index))
{
hr = pEnumExt->GetValue(PROPTYPE_BINARY, CV_OUT_HEX, &var);
if (FAILED(hr))
{
printf("Failed GetValue - %x\n", hr);
break;
}
switch(var.vt)
{
case VT_EMPTY:
printf("VT_EMPTY\n");
break;
case VT_BSTR:
printf("BSTR:%ws\n", var.bstrVal);
break;
case VT_DATE:
VariantTimeToSystemTime(var.date, &systime);
printf("%d.%d.%d %02d:%02d:%02d\n",
systime.wMonth,
systime.wDay,
systime.wYear,
systime.wHour,
systime.wMinute,
systime.wSecond );
break;
case VT_I2:
printf("%d\n", var.iVal);
break;
case VT_I4:
printf("%d\n", var.lVal);
break;
default:
printf("type is:%i\n", var.vt);
break;
}
}
// Free resources.
VariantClear( &var );
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Nessuno supportato |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | certview.h (includere Certsrv.h) |
Libreria | Certidl.lib |
DLL | Certadm.dll |
Vedi anche
IEnumCERTVIEWEXTENSION