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 |
---|---|
|
Certificat émis. |
|
Certificat en attente. |
|
Certificat refusé. |
|
Certificat révoqué. |
|
Appel réussi à ICertRequest ::RetrievePending. |
|
Liste de révocation de certificats (CRL) émise. |
|
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) |