ICertRequest::RetrievePending-Methode (certcli.h)

Die RetrievePending-Methode ruft die Disposition eines Zertifikats status aus einer früheren Anforderung ab, die zuvor möglicherweise CR_DISP_INCOMPLETE oder CR_DISP_UNDER_SUBMISSION zurückgegeben hat.

Wenn die resultierende Disposition status CR_DISP_ISSUED ist, können Sie das ausgestellte Zertifikat abrufen, indem Sie ICertRequest3::GetCertificate aufrufen. Wenn eine andere Disposition als CR_DISP_ISSUED zurückgegeben wird, rufen Sie ICertRequest3::GetLastStatus, ICertRequest3::GetDispositionMessage oder beide Methoden auf, um weitere Informationen zu erhalten.

Syntax

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

Parameter

[in] RequestId

Die ID der Anforderung, die zuvor CR_DISP_INCOMPLETE oder CR_DISP_UNDER_SUBMISSION zurückgegeben hatte.

[in] strConfig

Stellt eine gültige Konfigurationszeichenfolge für den Zertifikatdiensteserver dar. Die Zeichenfolge kann entweder eine HTTPS-URL für einen Registrierungsserver oder im Format ComputerName\CAName sein, wobei ComputerName der Netzwerkname des Servers und CAName der allgemeine Name der Zertifizierungsstelle ist, wie er während des Setups der Zertifikatdienste eingegeben wurde. Informationen zum Namen der Konfigurationszeichenfolge finden Sie unter ICertConfig.

Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Eine HTTPS-URL wird nicht als Eingabe unterstützt.

[out, retval] pDisposition

Ein Zeiger auf den Dispositionswert der Anforderung.

Rückgabewert

C++

Wenn die Methode erfolgreich ist, gibt die Methode S_OK zurück.

Nach erfolgreicher Ausführung dieser Funktion wird *pDisposition auf einen der Werte in der folgenden Tabelle festgelegt.

Wenn die Methode fehlschlägt, gibt sie einen HRESULT-Wert zurück, der den Fehler angibt. Eine Liste allgemeiner Fehlercodes finden Sie unter Allgemeine HRESULT-Werte.

VB

Der Rückgabewert gibt die Disposition der Anforderung an. Die Disposition ist einer der folgenden Werte.
Rückgabecode Beschreibung
CR_DISP_INCOMPLETE
Anforderung wurde nicht abgeschlossen
CR_DISP_ERROR
Fehler bei der Anforderung
CR_DISP_DENIED
Anforderung abgelehnt
CR_DISP_ISSUED
Zertifikat ausgestellt am
CR_DISP_ISSUED_OUT_OF_BAND
Zertifikat separat ausgestellt
CR_DISP_UNDER_SUBMISSION
Anforderung, die im Rahmen der Übermittlung aufgenommen wurde

Hinweise

Ein erfolgreicher Aufruf dieser Methode generiert ein EXITEVENT_CERTRETRIEVEPENDING-Ereignis. Ein aktives Exitmodul erhält eine Benachrichtigung über dieses Ereignis (über einen Aufruf von ICertExit3::Notify), wenn das Exit-Modul dieses Ereignis beim Aufrufen von ICertExit3::Initialize angegeben hat.

Beispiele

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile certcli.h (include Certsrv.h)
Bibliothek Certidl.lib
DLL Certcli.dll

Weitere Informationen

CCertRequest

ICertConfig

ICertRequest

ICertRequest2

ICertRequest3