Метод ICertExit::Notify (certexit.h)
Метод Notify вызывается подсистемой сервера для уведомления модуля выхода о возникновении события.
Синтаксис
HRESULT Notify(
[in] LONG ExitEvent,
[in] LONG Context
);
Параметры
[in] ExitEvent
Маска, указывающая тип события выхода, которое произошло. Для маски может быть задан один из следующих битов флага.
Значение | Значение |
---|---|
|
Выданный сертификат. |
|
Ожидается сертификат. |
|
Сертификат отклонен. |
|
Сертификат отозван. |
|
Успешный вызов ICertRequest::RetrievePending. |
|
Выданный список отзыва сертификатов (CRL). |
|
Завершение работы служб сертификатов. |
[in] Context
Указывает дескриптор контекста, который можно использовать для получения свойств, связанных с событием, из интерфейса ICertServerExit .
Возвращаемое значение
VB
Если метод выполнен успешно, метод возвращает S_OK.Если метод завершается сбоем, он возвращает значение HRESULT , указывающее на ошибку. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.
Комментарии
Если центр сертификации использует несколько модулей выхода, службы сертификации будут уведомлять каждый модуль выхода о событии (при условии, что модуль выхода запросил уведомление с помощью функции Инициализация). Порядок уведомления модулей выхода не должен предполагаться, а также не должен зависеть от обработки другого модуля выхода. Каждый модуль выхода с уведомлениями должен вернуться из Уведомления , прежде чем будет уведомлен следующий модуль выхода.
Примеры
#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);
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Ни одна версия не поддерживается |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | certexit.h (включая Certsrv.h) |