IEnumCERTVIEWEXTENSION::GetValue メソッド (certview.h)
GetValue メソッドは、拡張列挙シーケンス内の現在の拡張機能の値を取得します。
構文
HRESULT GetValue(
[in] LONG Type,
[in] LONG Flags,
[out] VARIANT *pvarValue
);
パラメーター
[in] Type
返されるデータのデータ型。 このパラメーターを使用して、返される前に拡張データをデコードするように指定できます。 PROPTYPE_BINARYが指定されている場合、データはデコードされず、代わりに生形式で返されます。
次のいずれかの値を指定します。
値 | 意味 |
---|---|
|
拡張値は そのまま取得され、必要に応じて ASN.1 でエンコードされます。 |
|
拡張値は、日付/時刻として返されます。 |
|
拡張値は、符号付き long として返されます。 |
|
拡張値は、IA5 文字列としてエンコードされた ASN.1 です。 |
[in] Flags
返されるデータの出力形式を示すフラグ。 このパラメーターには、次の値のいずれかを指定できます。
[out] pvarValue
現在参照されている拡張機能のデータを含む VARIANT 型の値へのポインター。 pvarValue パラメーターが NULL の場合、このメソッドは失敗します。 この関数が正常に完了すると、 pvarValue には拡張列挙シーケンスによって現在参照されている拡張データが含まれます。 呼び出し元は、pvarValue のデータを使用して行われた場合に VariantClear を呼び出す役割を担います。
戻り値
C++
メソッドが成功した場合、メソッドは S_OKを返します。メソッドが失敗した場合は、エラーを示す HRESULT 値を返します。 一般的なエラー コードの一覧については、「 共通の HRESULT 値」を参照してください。
VB
戻り値は、拡張機能のデータを表す バリアント型 (Variant) の値です。注釈
このメソッドは、拡張機能列挙シーケンスによって現在参照されている拡張機能のデータを取得するために使用されます。
拡張列挙シーケンスが有効な拡張機能を参照していない場合、 GetValue は失敗します。 列挙体内を移動するには、次のいずれかのメソッドを使用します。
- IEnumCERTVIEWEXTENSION::Reset: 列挙シーケンス内の次の拡張機能に移動します。
- IEnumCERTVIEWEXTENSION::Next: 列挙シーケンス内の次の拡張機能に移動します。
- IEnumCERTVIEWEXTENSION::Skip: 指定した数の拡張機能をスキップします。
例
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 );
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | サポートなし |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | certview.h (Certsrv.h を含む) |
Library | Certidl.lib |
[DLL] | Certadm.dll |
こちらもご覧ください
IEnumCERTVIEWEXTENSION