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 |
---|---|
|
Richiesta non completata |
|
Richiesta non riuscita |
|
Richiesta negata |
|
Certificato rilasciato |
|
Certificato rilasciato separatamente |
|
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 |