Metodo ICertExit::Notify (certexit.h)
Il metodo Notify viene chiamato dal motore server per notificare a un modulo di uscita che si è verificato un evento.
Sintassi
HRESULT Notify(
[in] LONG ExitEvent,
[in] LONG Context
);
Parametri
[in] ExitEvent
Maschera che indica il tipo di evento di uscita che si è verificato. La maschera può avere uno dei flag seguenti impostati.
Valore | Significato |
---|---|
|
Certificato emesso. |
|
Certificato in sospeso. |
|
Certificato negato. |
|
Certificato revocato. |
|
Chiamata riuscita a ICertRequest::RetrievePending. |
|
Elenco di revoche di certificati (CRL) emesso. |
|
Arresto di Servizi certificati. |
[in] Context
Specifica un handle di contesto che può essere usato per ottenere le proprietà associate all'evento dall'interfaccia ICertServerExit .
Valore restituito
VB
Se il metodo ha esito positivo, il metodo restituisce S_OK.Se il metodo ha esito negativo, restituisce un valore HRESULT che indica l'errore. Per un elenco dei codici di errore comuni, vedere Valori HRESULT comuni.
Commenti
Se un'autorità di certificazione usa più moduli di uscita, Servizi certificati invia una notifica a ogni modulo di uscita dell'evento (purché il modulo di uscita richieda una notifica tramite Initialize). L'ordine in cui i moduli di uscita vengono notificati non deve essere considerato, né deve dipendere dall'elaborazione di un altro modulo di uscita. Ogni modulo di uscita notifica deve essere restituito da Notify prima che il modulo di uscita successivo riceverà una notifica.
Esempio
#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);
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Nessuno supportato |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | certexit.h (include Certsrv.h) |