Compartir a través de


Método ICertRequest::RetrievePending (certcli.h)

El método RetrievePending recupera el estado de disposición de un certificado de una solicitud anterior que puede haber devuelto previamente CR_DISP_INCOMPLETE o CR_DISP_UNDER_SUBMISSION.

Si el estado de disposición resultante es CR_DISP_ISSUED, puede recuperar el certificado emitido llamando a ICertRequest3::GetCertificate. Si se devuelve una disposición distinta de CR_DISP_ISSUED, llame a ICertRequest3::GetLastStatus, ICertRequest3::GetDispositionMessage o ambos métodos para obtener más información.

Sintaxis

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

Parámetros

[in] RequestId

Identificador de la solicitud que había devuelto previamente CR_DISP_INCOMPLETE o CR_DISP_UNDER_SUBMISSION.

[in] strConfig

Representa una cadena de configuración válida para el servidor de Servicios de certificados. La cadena puede ser una dirección URL HTTPS para un servidor de inscripción o con el formato NombreDeEquipoDeEquipo\, donde NombreDeEquipo es el nombre de red del servidor y CAName es el nombre común de la entidad de certificación, tal como se especifica durante la configuración de Servicios de certificados. Para obtener información sobre el nombre de la cadena de configuración, vea ICertConfig.

Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: No se admite una dirección URL HTTPS como entrada.

[out, retval] pDisposition

Puntero al valor de disposición de la solicitud.

Valor devuelto

C++

Si el método se realiza correctamente, el método devuelve S_OK.

Tras completar correctamente esta función, *pDisposition se establece en uno de los valores de la tabla siguiente.

Si se produce un error en el método, devuelve un valor HRESULT que indica el error. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.

VB

El valor devuelto especifica la disposición de la solicitud. La disposición es uno de los siguientes valores.
Código devuelto Descripción
CR_DISP_INCOMPLETE
La solicitud no se completó
CR_DISP_ERROR
Error en la solicitud
CR_DISP_DENIED
Solicitud denegada
CR_DISP_ISSUED
Certificado emitido
CR_DISP_ISSUED_OUT_OF_BAND
Certificado emitido por separado
CR_DISP_UNDER_SUBMISSION
Solicitud realizada en envío

Comentarios

Una llamada correcta a este método genera un evento EXITEVENT_CERTRETRIEVEPENDING. Un módulo de salida activo recibirá una notificación de este evento (mediante una llamada a ICertExit3::Notify) si el módulo de salida especificó este evento al llamar a ICertExit3::Initialize.

Ejemplos

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 );

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado certcli.h (incluya Certsrv.h)
Library Certidl.lib
Archivo DLL Certcli.dll

Consulte también

CCertRequest

ICertConfig

ICertRequest

ICertRequest2

ICertRequest3