Share via


Méthode ICertExit ::Notify (certexit.h)

La méthode Notify est appelée par le moteur de serveur pour notifier un module de sortie qu’un événement s’est produit.

Syntaxe

HRESULT Notify(
  [in] LONG ExitEvent,
  [in] LONG Context
);

Paramètres

[in] ExitEvent

Masque qui indique le type d’événement de sortie qui s’est produit. L’un des indicateurs-bits suivants peut être défini sur le masque.

Valeur Signification
EXITEVENT_CERTISSUED
Certificat émis.
EXITEVENT_CERTPENDING
Certificat en attente.
EXITEVENT_CERTDENIED
Certificat refusé.
EXITEVENT_CERTREVOKED
Certificat révoqué.
EXITEVENT_CERTRETRIEVEPENDING
Appel réussi à ICertRequest ::RetrievePending.
EXITEVENT_CRLISSUED
Liste de révocation de certificats (CRL) émise.
EXITEVENT_SHUTDOWN
Arrêt des services de certificats.

[in] Context

Spécifie un handle de contexte qui peut être utilisé pour obtenir les propriétés associées à l’événement à partir de l’interface ICertServerExit .

Valeur retournée

VB

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

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.

Remarques

Si une autorité de certification utilise plusieurs modules de sortie, les services de certificats notifient chaque module de sortie de l’événement (à condition que le module de sortie ait demandé une notification au moyen de l’initialisation). L’ordre dans lequel les modules de sortie sont notifiés ne doit pas être supposé, et un module de sortie ne doit pas dépendre du traitement d’un autre module de sortie. Chaque module de sortie notifié doit retourner à partir de Notify avant que le module de sortie suivant ne soit averti.

Exemples

#include <windows.h>
#include <stdio.h>
#include <Certexit.h>

STDMETHODIMP CCertExit::Notify(
    /* [in] */ LONG ExitEvent,
    /* [in] */ LONG Context)
{
    char *pszEvent;
    HRESULT hr = S_OK;

    switch (ExitEvent)
    {
    case EXITEVENT_CERTISSUED:
        //  Call application-specific function for issued certs.
        hr = MyEventCertIssued(Context);
        pszEvent = "certissued";
        break;

    case EXITEVENT_CERTPENDING:
        pszEvent = "certpending";
        break;

    case EXITEVENT_CERTDENIED:
        pszEvent = "certdenied";
        break;

    case EXITEVENT_CERTREVOKED:
        pszEvent = "certrevoked";
        break;

    case EXITEVENT_CERTRETRIEVEPENDING:
        pszEvent = "retrievepending";
        break;

    case EXITEVENT_CRLISSUED:
        pszEvent = "crlissued";
        break;

    case EXITEVENT_SHUTDOWN:
        //  Call application-specific function for shutdown.
        hr = MyEventShutdown();
        pszEvent = "shutdown";
        break;

    default:
        pszEvent = "Unexpected event";
        break;
    }

    if ( fDebug )
    {
        //  Display what took place.
        printf("Exit::Notify(%s=%x, context=%u) return=%x\n",
                      pszEvent,
                      ExitEvent,
                      Context,
                      hr);
    }

    return(hr);
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Aucun pris en charge
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête certexit.h (include Certsrv.h)

Voir aussi

ICertExit

ICertExit2