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 |
---|---|
|
Zertifikat ausgestellt. |
|
Zertifikat ausstehend. |
|
Zertifikat verweigert. |
|
Zertifikat widerrufen. |
|
Erfolgreicher Aufruf von ICertRequest::RetrievePending. |
|
Zertifikatsperrliste (Certificate Revocation List , CRL) ausgestellt. |
|
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) |