Метод ICertExit::Initialize (certexit.h)
Метод Initialize вызывается подсистемой сервера при его инициализации.
Вызов метода Initialize модуля выхода позволяет модульу выхода выполнить инициализацию и сообщить подсистеме сервера, о каких типах событий он хотел бы получать уведомления.
Синтаксис
HRESULT Initialize(
[in] const BSTR strConfig,
[out, retval] LONG *pEventMask
);
Параметры
[in] strConfig
Представляет имя центра сертификации, указанное во время настройки служб сертификации. Дополнительные сведения об имени строки конфигурации см. в разделе ICertConfig2.
[out, retval] pEventMask
Указатель на значение , представляющее события, для которых модуль выхода запрашивает уведомление. Это может быть одно или несколько из следующих значений.
Значение | Значение |
---|---|
|
Сертификат отклонен. |
|
Выданный сертификат. |
|
Ожидается сертификат. |
|
Успешный вызов Метода RetrievePending. |
|
Сертификат отозван. |
|
Выданный список отзыва сертификатов . |
|
Завершение работы служб сертификатов. |
Возвращаемое значение
C++
Если метод выполняется успешно, метод возвращает S_OK и для *pEventMask задано сочетание флагов в таблице ниже (или EXITEVENT_INVALID, если модуль выхода не хочет получать уведомления о каких-либо событиях).Если метод завершается сбоем, он возвращает значение HRESULT , указывающее на ошибку. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.
Если модуль выхода не хочет получать уведомления о каких-либо событиях, необходимо установить флаг EXITEVENT_INVALID.
VB
Возвращаемое значение представляет собой маску, содержащую флаги, указывающие события, для которых модуль выхода запрашивает уведомление. После вызова все события этих типов будут сигнализироваться подсистемой сервера в модуль выхода через вызов Notify. Можно задать любой или все следующие флаги.Возвращаемый код/значение | Описание |
---|---|
|
Сертификат отклонен. |
|
Выданный сертификат. |
|
Ожидается сертификат. |
|
Успешный вызов Метода RetrievePending. |
|
Сертификат отозван. |
|
Выданный список отзыва сертификатов . |
|
В настоящее время событие недопустимо. |
|
Завершение работы служб сертификатов. |
Комментарии
При написании пользовательского модуля выхода реализуйте этот метод.
Примеры
#include <windows.h>
#include <stdio.h>
#include <Certexit.h>
STDMETHODIMP CCertExit::Initialize(
/* [in] */ BSTR const strConfig,
/* [retval][out] */ LONG __RPC_FAR *pEventMask)
{
// Verify valid pointer passed in.
if (NULL == pEventMask)
return ( E_POINTER ); // Bad pointer
// strConfig can be used by the Exit module.
// Here, it is stored in a BSTR member variable.
// Remember to call SysFreeString to free m_strConfig when done.
m_strConfig = SysAllocString( strConfig );
// Check to determine whether there was enough memory.
if (NULL == m_strConfig)
return ( E_OUTOFMEMORY ); // Not enough memory
// Inform server engine (CA) that we're interested in
// the following events.
*pEventMask = EXITEVENT_CERTISSUED |
EXITEVENT_CERTPENDING |
EXITEVENT_CERTDENIED |
EXITEVENT_CERTREVOKED |
EXITEVENT_CERTRETRIEVEPENDING |
EXITEVENT_CRLISSUED |
EXITEVENT_SHUTDOWN;
if ( fDebug )
{
printf("Exit's Initialize member called\n");
printf("\tstrConfig = %ws\n", strConfig );
}
return( S_OK );
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Ни одна версия не поддерживается |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | certexit.h (включая Certsrv.h) |