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 |
---|---|
|
Anforderung wurde nicht abgeschlossen |
|
Fehler bei der Anforderung |
|
Anforderung abgelehnt |
|
Zertifikat ausgestellt am |
|
Zertifikat separat ausgestellt |
|
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 |