Método ICertRequest::RetrievePending (certcli.h)
O método RetrievePending recupera a disposição de um certificado status de uma solicitação anterior que pode ter retornado anteriormente CR_DISP_INCOMPLETE ou CR_DISP_UNDER_SUBMISSION.
Se a disposição resultante status for CR_DISP_ISSUED, você poderá recuperar o certificado emitido chamando ICertRequest3::GetCertificate. Se uma disposição diferente de CR_DISP_ISSUED for retornada, chame ICertRequest3::GetLastStatus, ICertRequest3::GetDispositionMessage ou ambos os métodos para obter mais informações.
Sintaxe
HRESULT RetrievePending(
[in] LONG RequestId,
[in] const BSTR strConfig,
[out, retval] LONG *pDisposition
);
Parâmetros
[in] RequestId
A ID da solicitação que havia retornado anteriormente CR_DISP_INCOMPLETE ou CR_DISP_UNDER_SUBMISSION.
[in] strConfig
Representa uma cadeia de caracteres de configuração válida para o servidor dos Serviços de Certificados. A cadeia de caracteres pode ser uma URL HTTPS para um servidor de registro ou no formato ComputerName\CAName, em que ComputerName é o nome de rede do servidor e CAName é o nome comum da autoridade de certificação, conforme inserido durante a instalação dos Serviços de Certificados. Para obter informações sobre o nome da cadeia de caracteres de configuração, consulte ICertConfig.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Não há suporte para uma URL HTTPS como entrada.
[out, retval] pDisposition
Um ponteiro para o valor de disposição da solicitação.
Retornar valor
C++
Se o método for bem-sucedido, o método retornará S_OK.Após a conclusão bem-sucedida dessa função, *pDisposition é definido como um dos valores na tabela a seguir.
Se o método falhar, ele retornará um valor HRESULT que indica o erro. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT comuns.
VB
O valor retornado especifica a disposição da solicitação. A disposição é um dos valores a seguir.Código de retorno | Descrição |
---|---|
|
A solicitação não foi concluída |
|
Falha na solicitação |
|
Solicitação negada |
|
Certificado emitido |
|
Certificado emitido separadamente |
|
Solicitação feita em envio |
Comentários
Uma chamada bem-sucedida para esse método gera um evento EXITEVENT_CERTRETRIEVEPENDING. Um módulo de saída ativo receberá uma notificação desse evento (por meio de uma chamada para ICertExit3::Notify) se o módulo de saída especificar esse evento ao chamar ICertExit3::Initialize.
Exemplos
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 | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | certcli.h (inclua Certsrv.h) |
Biblioteca | Certidl.lib |
DLL | Certcli.dll |