IEnumCERTVIEWEXTENSION::GetValue-Methode (certview.h)
Die GetValue-Methode ruft den Wert der aktuellen Erweiterung in der Erweiterungsenumerationssequenz ab.
Syntax
HRESULT GetValue(
[in] LONG Type,
[in] LONG Flags,
[out] VARIANT *pvarValue
);
Parameter
[in] Type
Datentyp für die zurückgegebenen Daten. Dieser Parameter kann verwendet werden, um anzugeben, dass die Erweiterungsdaten vor der Rückgabe decodiert werden. Wenn PROPTYPE_BINARY angegeben ist, werden die Daten nicht decodiert, sondern im Rohformat zurückgegeben.
Geben Sie einen der folgenden Werte an.
[in] Flags
Flag, das das Ausgabeformat für die zurückgegebenen Daten angibt. Dieser Parameter kann einen der folgenden Werte annehmen.
[out] pvarValue
Ein Zeiger auf einen Wert vom Typ VARIANT , der die Daten für die derzeit referenzierte Erweiterung enthält. Diese Methode schlägt fehl, wenn der pvarValue-ParameterNULL ist. Nach erfolgreichem Abschluss dieser Funktion enthält pvarValue die Erweiterungsdaten, auf die derzeit von der Erweiterungsenumerationssequenz verwiesen wird. Der Aufrufer ist für den Aufruf von VariantClear verantwortlich, wenn er mit den Daten in pvarValue fertig ist.
Rückgabewert
C++
Wenn die Methode erfolgreich ist, gibt die Methode S_OK zurück.Wenn die Methode fehlschlägt, gibt sie einen HRESULT-Wert zurück, der den Fehler angibt. Eine Liste allgemeiner Fehlercodes finden Sie unter Allgemeine HRESULT-Werte.
VB
Der Rückgabewert ist ein Variant-Wert , der die Daten in der Erweiterung darstellt.Hinweise
Diese Methode wird verwendet, um die Daten in der Erweiterung abzurufen, auf die derzeit von der Erweiterungsenumerationssequenz verwiesen wird.
Wenn die Erweiterungsenumerationssequenz nicht auf eine gültige Erweiterung verweist, schlägt GetValue fehl. Verwenden Sie eine der folgenden Methoden, um durch die Enumeration zu navigieren:
- IEnumCERTVIEWEXTENSION::Reset: Wechselt zur nächsten Erweiterung in der Enumerationssequenz.
- IEnumCERTVIEWEXTENSION::Next: Wechselt zur nächsten Erweiterung in der Enumerationssequenz.
- IEnumCERTVIEWEXTENSION::Skip: Überspringt eine angegebene Anzahl von Erweiterungen.
Beispiele
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 );
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Nicht unterstützt |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | certview.h (include Certsrv.h) |
Bibliothek | Certidl.lib |
DLL | Certadm.dll |
Weitere Informationen
IEnumCERTVIEWEXTENSION