IEnumCERTVIEWCOLUMN::GetValue メソッド (certview.h)
GetValue メソッドは、列列挙シーケンスの現在の列に含まれるデータ値を取得します。
構文
HRESULT GetValue(
[in] LONG Flags,
[out] VARIANT *pvarValue
);
パラメーター
[in] Flags
取得したデータの出力形式を示す識別子。 このパラメーターには、次の値のいずれかを指定できます。
[out] pvarValue
データ列を含む VARIANT 型の値へのポインター。 pvarValue が NULL の場合、このメソッドは失敗します。 このメソッドが正常に完了すると、 pvarValue には列にデータが含まれます。 呼び出し元は、このデータが完了したときに VariantClear を呼び出す役割を担います。
戻り値
C++
メソッドが成功した場合、メソッドは S_OKを返します。メソッドが失敗した場合は、エラーを示す HRESULT 値を返します。 一般的なエラー コードの一覧については、「 共通の HRESULT 値」を参照してください。
VB
戻り値は、列のデータを表す バリアント型 (Variant) の値です。注釈
このメソッドは、列列挙シーケンスによって現在参照されている列のデータを取得するために使用されます。
列列挙シーケンスが有効な列を参照していない場合、 GetValue は失敗します。 列挙体内を移動するには、次のいずれかのメソッドを使用します。
- IEnumCERTVIEWCOLUMN::Reset: 列挙シーケンスの先頭に移動します。
- IEnumCERTVIEWCOLUMN::Next: 列挙シーケンスの次の列に移動します。
- IEnumCERTVIEWCOLUMN::Skip: 指定した数の列をスキップします。
例
HRESULT hr;
VARIANT var;
SYSTEMTIME systime;
VariantInit(&var);
// pEnumCol is previously instantiated IEnumCERTVIEWCOLUMN object
hr = pEnumCol->GetValue(CV_OUT_HEX, &var);
if ( FAILED (hr) )
{
printf("Failed GetValue - %x\n", hr);
goto error;
}
switch( var.vt )
{
case VT_EMPTY:
printf( "VT_EMPTY\n" );
break;
case VT_BSTR:
printf("%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;
}
// done processing, clear resources
VariantClear( &var );
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | サポートなし |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | certview.h (Certsrv.h を含む) |
Library | Certidl.lib |
[DLL] | Certadm.dll |