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 |