Метод ICertRequest::RetrievePending (certcli.h)
Метод RetrievePending извлекает состояние ликвидации сертификата из предыдущего запроса, который ранее возвращал CR_DISP_INCOMPLETE или CR_DISP_UNDER_SUBMISSION.
Если итоговое состояние ликвидации CR_DISP_ISSUED, можно получить выданный сертификат, вызвав метод ICertRequest3::GetCertificate. Если возвращается расположение, отличное от CR_DISP_ISSUED, вызовите метод ICertRequest3::GetLastStatus, ICertRequest3::GetDispositionMessage или оба метода для получения дополнительных сведений.
Синтаксис
HRESULT RetrievePending(
[in] LONG RequestId,
[in] const BSTR strConfig,
[out, retval] LONG *pDisposition
);
Параметры
[in] RequestId
Идентификатор запроса, который ранее возвращал CR_DISP_INCOMPLETE или CR_DISP_UNDER_SUBMISSION.
[in] strConfig
Представляет допустимую строку конфигурации для сервера служб сертификатов. Строка может быть URL-адресом HTTPS для сервера регистрации или в формате Имя_\компьютера CAName, где ComputerName — сетевое имя сервера, а CAName — общее имя центра сертификации, указанное при настройке служб сертификатов. Дополнительные сведения об имени строки конфигурации см. в разделе ICertConfig.
Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: URL-адрес HTTPS не поддерживается в качестве входных данных.
[out, retval] pDisposition
Указатель на значение ликвидации запроса.
Возвращаемое значение
C++
Если метод завершается успешно, метод возвращает S_OK.После успешного выполнения этой функции параметру *pDisposition присваивается одно из значений в следующей таблице.
Если метод завершается сбоем, он возвращает значение HRESULT , указывающее на ошибку. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.
VB
Возвращаемое значение указывает ликвидацию запроса. Ликвидация является одним из следующих значений.Код возврата | Описание |
---|---|
|
Запрос не завершен |
|
Не удалось выполнить запрос |
|
Запрос отклонен |
|
Выданный сертификат |
|
Сертификат, выданный отдельно |
|
Запрос, принятый в рамках отправки |
Комментарии
При успешном вызове этого метода создается событие EXITEVENT_CERTRETRIEVEPENDING. Активный модуль выхода получит уведомление об этом событии (посредством вызова ICertExit3::Notify), если модуль выхода указал это событие при вызове ICertExit3::Initialize.
Примеры
BSTR bstrCA = NULL;
long nReqID, nDisp;
// In this example, the request ID is hard-coded.
nReqID = 1234;
// Note use of two '\' in C++ to produce one '\'.
bstrCA = SysAllocString(L"server01\\myCAName");
// pCertRequest is previously instantiated ICertRequest
// object pointer. Retrieve the status for the specified request.
hr = pCertRequest->RetrievePending( nReqID, bstrCA, &nDisp );
if (FAILED(hr))
{
printf("Failed RetrievePending [%x]\n", hr);
goto error;
}
else
{
// Use the disposition value as needed...
}
// Free BSTR resource.
if ( NULL != bstrCA )
SysFreeString( bstrCA );
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | certcli.h (включая Certsrv.h) |
Библиотека | Certidl.lib |
DLL | Certcli.dll |