Condividi tramite


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
EXITEVENT_CERTISSUED
Certificato emesso.
EXITEVENT_CERTPENDING
Certificato in sospeso.
EXITEVENT_CERTDENIED
Certificato negato.
EXITEVENT_CERTREVOKED
Certificato revocato.
EXITEVENT_CERTRETRIEVEPENDING
Chiamata riuscita a ICertRequest::RetrievePending.
EXITEVENT_CRLISSUED
Elenco di revoche di certificati (CRL) emesso.
EXITEVENT_SHUTDOWN
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)

Vedi anche

ICertExit

ICertExit2