ICertExit::Notify-Methode (certexit.h)

Die Notify-Methode wird von der Server-Engine aufgerufen, um ein Beendigungsmodul zu benachrichtigen, dass ein Ereignis aufgetreten ist.

Syntax

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

Parameter

[in] ExitEvent

Eine Maske, die die Art des aufgetretenen Exitereignisses angibt. Für die Maske kann eines der folgenden Flagbits festgelegt sein.

Wert Bedeutung
EXITEVENT_CERTISSUED
Zertifikat ausgestellt.
EXITEVENT_CERTPENDING
Zertifikat ausstehend.
EXITEVENT_CERTDENIED
Zertifikat verweigert.
EXITEVENT_CERTREVOKED
Zertifikat widerrufen.
EXITEVENT_CERTRETRIEVEPENDING
Erfolgreicher Aufruf von ICertRequest::RetrievePending.
EXITEVENT_CRLISSUED
Zertifikatsperrliste (Certificate Revocation List , CRL) ausgestellt.
EXITEVENT_SHUTDOWN
Herunterfahren von Zertifikatdiensten.

[in] Context

Gibt ein Kontexthandle an, mit dem Eigenschaften abgerufen werden können, die dem Ereignis von der ICertServerExit-Schnittstelle zugeordnet sind.

Rückgabewert

VB

Wenn die Methode erfolgreich ist, gibt die Methode S_OK zurück.

Wenn die Methode fehlschlägt, gibt sie einen HRESULT-Wert zurück, der den Fehler angibt. Eine Liste allgemeiner Fehlercodes finden Sie unter Allgemeine HRESULT-Werte.

Hinweise

Wenn eine Zertifizierungsstelle mehrere Exitmodule verwendet, benachrichtigt Certificate Services jedes Exitmodul über das Ereignis (vorausgesetzt, das Exitmodul hat eine Benachrichtigung über Initialize angefordert). Die Reihenfolge, in der die Exitmodule benachrichtigt werden, sollte nicht angenommen werden, und ein Exitmodul sollte auch nicht von der Verarbeitung eines anderen Exitmoduls abhängen. Jedes benachrichtigte Exitmodul muss von Notify zurückkehren, bevor das nächste Beendigungsmodul benachrichtigt wird.

Beispiele

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Nicht unterstützt
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile certexit.h (include Certsrv.h)

Weitere Informationen

ICertExit

ICertExit2