Поделиться через


Метод ICertAdmin::ResubmitRequest (certadm.h)

Метод ResubmitRequest отправляет указанный запрос сертификата в модуль политики для указанного центра сертификации. Этот метод впервые появился в интерфейсе ICertAdmin .

Для успешного выполнения этого метода запрос сертификата должен находиться в ожидании.

Синтаксис

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

Параметры

[in] strConfig

Представляет допустимую строку конфигурации для центра сертификации (ЦС) в формате COMPUTERNAME\CANAME, где COMPUTERNAME — сетевое имя сервера служб сертификатов, а CANAME — общее имя центра сертификации, указанное при настройке служб сертификации. Дополнительные сведения об имени строки конфигурации см. в разделе ICertConfig.

Важно.ResubmitRequest не очищает внутренний кэш при изменении строки конфигурации. При изменении строки конфигурации для ЦС необходимо создать экземпляр нового объекта ICertAdmin и снова вызвать этот метод с новой строкой конфигурации.
 

[in] RequestId

Указывает идентификатор запроса для повторной отправки.

[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
Header certadm.h (включая Certsrv.h)
Библиотека Certidl.lib
DLL Certadm.dll

См. также раздел

CCertAdmin

ICertAdmin

ICertAdmin2

ICertConfig

ICertRequest::Submit