Metodo ICertRequest::RetrievePending (certcli.h)

Il metodo RetrievePending recupera lo stato di eliminazione di un certificato da una richiesta precedente che potrebbe essere stata restituita in precedenza CR_DISP_INCOMPLETE o CR_DISP_UNDER_SUBMISSION.

Se lo stato di eliminazione risultante è CR_DISP_ISSUED, è possibile recuperare il certificato rilasciato chiamando ICertRequest3::GetCertificate. Se viene restituita un'eliminazione diversa da CR_DISP_ISSUED, chiamare ICertRequest3::GetLastStatus, ICertRequest3::GetDispositionMessage o entrambi i metodi per altre informazioni.

Sintassi

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

Parametri

[in] RequestId

ID della richiesta restituita in precedenza CR_DISP_INCOMPLETE o CR_DISP_UNDER_SUBMISSION.

[in] strConfig

Rappresenta una stringa di configurazione valida per il server Servizi certificati. La stringa può essere un URL HTTPS per un server di registrazione o nel formato ComputerName\CAName, dove ComputerName è il nome di rete del server e CAName è il nome comune dell'autorità di certificazione, come immesso durante l'installazione di Servizi certificati. Per informazioni sul nome della stringa di configurazione, vedere ICertConfig.

Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Un URL HTTPS non è supportato come input.

[out, retval] pDisposition

Puntatore al valore di eliminazione della richiesta.

Valore restituito

C++

Se il metodo ha esito positivo, il metodo restituisce S_OK.

Al termine di questa funzione, *pDisposition è impostato su uno dei valori della tabella seguente.

Se il metodo ha esito negativo, restituisce un valore HRESULT che indica l'errore. Per un elenco di codici di errore comuni, vedere Valori HRESULT comuni.

VB

Il valore restituito specifica l'eliminazione della richiesta. L'eliminazione è uno dei valori seguenti.
Codice restituito Descrizione
CR_DISP_INCOMPLETE
Richiesta non completata
CR_DISP_ERROR
Richiesta non riuscita
CR_DISP_DENIED
Richiesta negata
CR_DISP_ISSUED
Certificato rilasciato
CR_DISP_ISSUED_OUT_OF_BAND
Certificato rilasciato separatamente
CR_DISP_UNDER_SUBMISSION
Richiesta eseguita in invio

Commenti

Una chiamata riuscita a questo metodo genera un evento EXITEVENT_CERTRETRIEVEPENDING. Un modulo di uscita attivo riceverà una notifica di questo evento (tramite una chiamata a ICertExit3::Notify) se il modulo di uscita ha specificato questo evento quando chiama ICertExit3::Initialize.

Esempio

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

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione certcli.h (include Certsrv.h)
Libreria Certidl.lib
DLL Certcli.dll

Vedi anche

CCertRequest

ICertConfig

ICertRequest

ICertRequest2

ICertRequest3