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) |
程式庫 | Certidl.lib |
Dll | Certadm.dll |