Compartilhar via


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

O método Notify é chamado pelo mecanismo de servidor para notificar um módulo de saída de que ocorreu um evento.

Sintaxe

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

Parâmetros

[in] ExitEvent

Uma máscara que indica o tipo de evento de saída que ocorreu. A máscara pode ter um dos bits de sinalizador a seguir definidos.

Valor Significado
EXITEVENT_CERTISSUED
Certificado emitido.
EXITEVENT_CERTPENDING
Certificado pendente.
EXITEVENT_CERTDENIED
Certificado negado.
EXITEVENT_CERTREVOKED
Certificado revogado.
EXITEVENT_CERTRETRIEVEPENDING
Chamada bem-sucedida para ICertRequest::RetrievePending.
EXITEVENT_CRLISSUED
CRL (lista de revogação de certificados) emitida.
EXITEVENT_SHUTDOWN
Desligamento dos Serviços de Certificados.

[in] Context

Especifica um identificador de contexto que pode ser usado para obter propriedades associadas ao evento da interface ICertServerExit .

Retornar valor

VB

Se o método for bem-sucedido, o método retornará S_OK.

Se o método falhar, ele retornará um valor HRESULT que indica o erro. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT comuns.

Comentários

Se uma autoridade de certificação estiver usando vários módulos de saída, os Serviços de Certificado notificarão cada módulo de saída do evento (fornecido o módulo de saída solicitado notificação por meio de Inicializar). A ordem na qual os módulos de saída são notificados não deve ser assumida, nem um módulo de saída deve depender do processamento de outro módulo de saída. Cada módulo de saída notificado deve retornar de Notify antes que o próximo módulo de saída seja notificado.

Exemplos

#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 Valor
Cliente mínimo com suporte Nenhum compatível
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho certexit.h (inclua Certsrv.h)

Confira também

ICertExit

ICertExit2