ICertRequest ::RetrievePending, méthode (certcli.h)

La méthode RetrievePending récupère les status de destruction d’un certificat à partir d’une requête antérieure qui a peut-être précédemment retourné CR_DISP_INCOMPLETE ou CR_DISP_UNDER_SUBMISSION.

Si le status de destruction résultant est CR_DISP_ISSUED, vous pouvez récupérer le certificat émis en appelant ICertRequest3 ::GetCertificate. Si une disposition autre que CR_DISP_ISSUED est retournée, appelez ICertRequest3 ::GetLastStatus, ICertRequest3 ::GetDispositionMessage ou les deux méthodes pour plus d’informations.

Syntaxe

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

Paramètres

[in] RequestId

ID de la demande qui avait précédemment retourné CR_DISP_INCOMPLETE ou CR_DISP_UNDER_SUBMISSION.

[in] strConfig

Représente une chaîne de configuration valide pour le serveur des services de certificats. La chaîne peut être une URL HTTPS pour un serveur d’inscription ou sous la forme ComputerName\CAName, où ComputerName est le nom réseau du serveur et CAName est le nom commun de l’autorité de certification, tel qu’entré lors de l’installation des services de certificats. Pour plus d’informations sur le nom de la chaîne de configuration, consultez ICertConfig.

Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Une URL HTTPS n’est pas prise en charge en tant qu’entrée.

[out, retval] pDisposition

Pointeur vers la valeur de destruction de la requête.

Valeur retournée

C++

Si la méthode réussit, la méthode retourne S_OK.

Une fois cette fonction terminée, *pDisposition est défini sur l’une des valeurs du tableau suivant.

Si la méthode échoue, elle retourne une valeur HRESULT qui indique l’erreur. Pour obtenir la liste des codes d’erreur courants, consultez Valeurs HRESULT courantes.

VB

La valeur de retour spécifie la disposition de la requête. La disposition est l’une des valeurs suivantes.
Code de retour Description
CR_DISP_INCOMPLETE
La demande n’est pas terminée
CR_DISP_ERROR
Échec de la demande
CR_DISP_DENIED
Demande refusée
CR_DISP_ISSUED
Certificat émis
CR_DISP_ISSUED_OUT_OF_BAND
Certificat émis séparément
CR_DISP_UNDER_SUBMISSION
Demande effectuée sous soumission

Remarques

Un appel réussi à cette méthode génère un événement EXITEVENT_CERTRETRIEVEPENDING. Un module de sortie actif reçoit une notification de cet événement (au moyen d’un appel à ICertExit3 ::Notify) si le module de sortie a spécifié cet événement lors de l’appel de ICertExit3 ::Initialize.

Exemples

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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête certcli.h (include Certsrv.h)
Bibliothèque Certidl.lib
DLL Certcli.dll

Voir aussi

CCertRequest

ICertConfig

ICertRequest

ICertRequest2

ICertRequest3