iCertAdmin::ResubmitRequest 方法 (certadm.h)

ResubmitRequest 方法将指定的证书请求提交到指定证书颁发机构的策略模块。 此方法首先在 ICertAdmin 接口中引入。

要使此方法成功,证书请求必须处于挂起状态。

语法

HRESULT ResubmitRequest(
  [in]          const BSTR strConfig,
  [in]          LONG       RequestId,
  [out, retval] LONG       *pDisposition
);

参数

[in] strConfig

表示 证书颁发机构 (CA) 的有效配置字符串,格式为 COMPUTERNAME\CANAME,其中 COMPUTERNAME 是证书服务服务器的网络名称,CANAME 是在证书服务设置过程中输入的证书颁发机构的公用名称。 有关配置字符串名称的信息,请参阅 ICertConfig

重要提示 更改配置字符串时,ResubmitRequest 不会清除内部缓存。 更改 CA 的配置字符串时,必须实例化新的 ICertAdmin 对象,并使用新的配置字符串再次调用此方法。
 

[in] RequestId

指定要重新提交的请求的 ID。

[out, retval] pDisposition

指向请求处置的指针。

返回值

C++

如果方法成功,并且 pDisposition 参数设置为指定请求处置的以下值之一,则该方法返回S_OK。

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

VB

返回值指定请求的处置。 此值是以下值之一。
返回代码 说明
CR_DISP_INCOMPLETE
请求未完成。
CR_DISP_ERROR
请求失败。
CR_DISP_DENIED
请求被拒绝。
CR_DISP_ISSUED
证书已颁发。
CR_DISP_ISSUED_OUT_OF_BAND
证书是单独颁发的。
CR_DISP_UNDER_SUBMISSION
请求是在提交后进行的。

注解

管理任务使用 DCOM。 调用早期版本的 Certadm.h 中定义的此接口方法的代码将在基于 Windows 的服务器上运行,前提是客户端和服务器都运行相同的 Windows 操作系统。

示例

#include <windows.h>
#include <stdio.h>
#include <Certadm.h>


    long nDisp;  // disposition value
    long nReqID = <REQUESTIDHERE>;
    BSTR bstrCA = NULL;

    bstrCA = SysAllocString(L"<COMPUTERNAMEHERE>\\<CANAMEHERE>");
    if (NULL == bstrCA)
    {
        printf("Memory allocation failed\n");
        goto error;
    }

    //  pCertAdmin is a previously instantiated ICertAdmin object.
    hr = pCertAdmin->ResubmitRequest(bstrCA, nReqID, &nDisp);
    if (FAILED(hr))
    {
        printf("Failed ResubmitRequest [%x]\n", hr);
        goto error;
    }
    else
        printf("ResubmitRequest disposition is %d\n", nDisp);

error:
    //  Free resources.
    if (bstrCA)
        SysFreeString(bstrCA);

要求

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

另请参阅

CCertAdmin

ICertAdmin

ICertAdmin2

ICertConfig

ICertRequest::Submit