Compartir a través de


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

El motor del servidor llama al método Notify para notificar a un módulo de salida que se ha producido un evento.

Sintaxis

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

Parámetros

[in] ExitEvent

Máscara que indica el tipo de evento de salida que se ha producido. La máscara puede tener uno de los siguientes bits de marca establecidos.

Valor Significado
EXITEVENT_CERTISSUED
Certificado emitido.
EXITEVENT_CERTPENDING
Certificado pendiente.
EXITEVENT_CERTDENIED
Certificado denegado.
EXITEVENT_CERTREVOKED
Certificado revocado.
EXITEVENT_CERTRETRIEVEPENDING
Llamada correcta a ICertRequest::RetrievePending.
EXITEVENT_CRLISSUED
Lista de revocación de certificados (CRL) emitida.
EXITEVENT_SHUTDOWN
Apagado de Servicios de certificados.

[in] Context

Especifica un identificador de contexto que se puede usar para obtener propiedades asociadas al evento desde la interfaz ICertServerExit .

Valor devuelto

VB

Si el método se realiza correctamente, el método devuelve S_OK.

Si se produce un error en el método, devuelve un valor HRESULT que indica el error. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.

Comentarios

Si una entidad de certificación usa varios módulos de salida, Servicios de certificados notificará a cada módulo de salida del evento (siempre que se solicite la notificación del módulo de salida mediante Initialize). No se debe asumir el orden en el que se notifican los módulos de salida, ni un módulo de salida depende del procesamiento de otro módulo de salida. Cada módulo de salida notificado debe volver de Notificar antes de que se notifique al siguiente módulo de salida.

Ejemplos

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

Requisitos

Requisito Value
Cliente mínimo compatible No se admite ninguno
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado certexit.h (incluya Certsrv.h)

Consulte también

ICertExit

ICertExit2