ICertView::SetResultColumn 方法 (certview.h)

SetResultColumn 方法为证书服务数据库的自定义视图的结果集指定一列。

语法

HRESULT SetResultColumn(
  [in] LONG ColumnIndex
);

参数

[in] ColumnIndex

要包含在结果集中的列的从零开始的索引。

返回值

VB

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

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

注解

在调用 SetResultColumn 方法之前,必须调用 SetResultColumnCount 方法以指定结果集中的列数。 在以下情况下,对 SetResultColumn 方法的调用将失败:

  • 尚未指定列数。
  • SetResultColumn 的调用次数多于调用 SetResultColumnCount 所指定的列数。
  • SetResultColumnCount 指定了一组预定义的列。 当其 cResultColumnCount 参数为下列值之一时,此方法指定一组预定义的列:
    • CV_COLUMN_LOG_DEFAULT
    • CV_COLUMN_LOG_FAILED_DEFAULT
    • CV_COLUMN_QUEUE_DEFAULT
指定列后,可以使用 对 SetRestriction 方法的可选调用来指定列的排序和限定限制。

必须为结果集中所需的每一列调用 SetResultColumn 方法。 成功完成这些调用后,每次调用中指定的列将在调用 OpenView 方法时包含在结果集中。

示例

    HRESULT    hr;
    LONG       nCount;
    LONG       i;

    // Determine the number of columns in the entire database.
    // pCertView is a pointer to ICertView.
    hr = pCertView->GetColumnCount(FALSE, &nCount);
    if (FAILED(hr))
    {
        printf("Failed GetColumnCount - %x\n", hr);
        goto error;
    }
    hr = pCertView->SetResultColumnCount( nCount );
    if (FAILED(hr))
    {
        printf("Failed SetResultColumnCount - %x\n", hr);
        goto error;
    }
    // Place each column in the view.
    for (i = 0; i < nCount; i++)
    {
        hr = pCertView->SetResultColumn(i);
        if (FAILED(hr))
        {
            printf("Failed SetResultColumn (%d) - %x\n", i, hr );
            goto error;
        }
    }
    // Call ICertView::OpenView, and so on.
    // ...

error:
	{
		 // Clean up resources, and so on.
	}

要求

要求
最低受支持的客户端 无受支持的版本
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 certview.h (包括 Certsrv.h)
Library Certidl.lib
DLL Certadm.dll

另请参阅

ICertView

ICertView2

ICertView::OpenView

ICertView::SetRestriction

ICertView::SetResultColumnCount