ICertAdmin::ResubmitRequest 方法 (certadm.h)

ResubmitRequest 方法會將指定的憑證要求提交至指定證書頒發機構單位的原則模組。 這個方法最初是在 ICertAdmin 介面中引進。

若要讓這個方法成功,憑證要求必須擱置中。

語法

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

參數

[in] strConfig

以 COMPUTERNAME\CANAME 格式表示 證書頒發機構單位 (CA) 的有效組態字串,其中 COMPUTERNAME 是證書服務伺服器的網路名稱,CANAME 是證書頒發機構單位的一般名稱,如憑證服務設定期間所輸入。 如需設定字串名稱的相關信息,請參閱 ICertConfig

重要ResubmitRequest 不會在設定字串變更時清除內部快取。 當您變更 CA 的組態字串時,必須具現化新的 ICertAdmin 物件,並使用新的組態字串再次呼叫此方法。
 

[in] RequestId

指定要重新提交之要求的標識碼。

[out, retval] pDisposition

要求處置的指標。

傳回值

C++

如果方法成功,且 pDisposition 參數設定為下列其中一個指定要求處置的值,則方法會傳回S_OK。

如果方法失敗,它會傳回指出錯誤的 HRESULT 值。 如需常見錯誤碼的清單,請參閱 一般 HRESULT 值

VB

傳回值會指定要求的處置。 這個值是下列其中一個值。
傳回碼 Description
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)
程式庫 Certidl.lib
Dll Certadm.dll

另請參閱

CCertAdmin

ICertAdmin

ICertAdmin2

ICertConfig

ICertRequest::Submit