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 |
---|---|
|
La solicitud no se completó |
|
Error en la solicitud |
|
Solicitud denegada |
|
Certificado emitido |
|
Certificado emitido por separado |
|
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 |