IEnumCERTVIEWCOLUMN::GetValue 方法 (certview.h)

GetValue 方法检索列枚举序列中当前列中包含的数据值。

语法

HRESULT GetValue(
  [in]  LONG    Flags,
  [out] VARIANT *pvarValue
);

参数

[in] Flags

一个标识符,表示检索到的数据的输出格式。 此参数的取值可为下列值之一:

含义
CV_OUT_BASE64
不带 BEGIN/END 的 BASE64
CV_OUT_BASE64HEADER
具有 BEGIN CERTIFICATE 和 END CERTIFICATE 的 BASE64
CV_OUT_BASE64REQUESTHEADER
带有 BEGIN 新证书请求和结束新证书请求的 BASE64
CV_OUT_BASE64X509CRLHEADER
BASE64 与 BEGIN X509 CRL 和 END X509 CRL
CV_OUT_BINARY
二进制
CV_OUT_HEX
十六进制字符串
CV_OUT_HEXADDR
带地址/偏移量的十六进制字符串
CV_OUT_HEXASCII
带有 ASCII 的十六进制字符串
CV_OUT_HEXASCIIADDR
具有 ASCII 和地址/偏移量的十六进制字符串

[out] pvarValue

指向包含数据列的 VARIANT 类型的值的指针。 如果 pvarValueNULL,此方法将失败。 成功完成此方法后, pvarValue 将包含 列中的数据。 调用方负责在处理完此数据时调用 VariantClear

返回值

C++

如果该方法成功,该方法将返回S_OK。

如果方法失败,它将返回指示错误的 HRESULT 值。 有关常见错误代码的列表,请参阅 常见 HRESULT 值

VB

返回值是一个 Variant 类型的值,它表示列中的数据。

注解

此方法用于检索列枚举序列当前引用的列中的数据。

如果列枚举序列未引用有效列, 则 GetValue 将失败。 使用以下方法之一在 枚举中导航:

示例

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

另请参阅

IEnumCERTVIEWCOLUMN

IEnumCERTVIEWCOLUMN::Next

IEnumCERTVIEWCOLUMN::Reset

IEnumCERTVIEWCOLUMN::Skip