iCertExit::Initialize 方法 (certexit.h)

Initialize 方法在初始化自身时由服务器引擎调用。

调用退出模块的 Initialize 方法允许退出模块执行初始化,并通知服务器引擎想要通知的事件类型。

语法

HRESULT Initialize(
  [in]          const BSTR strConfig,
  [out, retval] LONG       *pEventMask
);

参数

[in] strConfig

表示在证书服务设置过程中输入的证书颁发机构的名称。 有关配置字符串名称的信息,请参阅 ICertConfig2

[out, retval] pEventMask

指向 值的指针,该值表示退出模块请求通知的事件。 这可以是以下一个或多个值。

含义
EXITEVENT_CERTDENIED
证书被拒绝。
EXITEVENT_CERTISSUED
证书已颁发。
EXITEVENT_CERTPENDING
证书挂起。
EXITEVENT_CERTRETRIEVEPENDING
成功调用 RetrievePending
EXITEVENT_CERTREVOKED
证书已吊销。
EXITEVENT_CRLISSUED
颁发的证书吊销列表
EXITEVENT_SHUTDOWN
证书服务关闭。

返回值

C++

如果该方法成功,该方法将返回S_OK并且 *pEventMask 设置为下表中的标志的组合 (或EXITEVENT_INVALID如果退出模块不希望收到任何事件) 的通知。

如果方法失败,它将返回指示错误的 HRESULT 值。 有关常见错误代码的列表,请参阅 常见 HRESULT 值

如果退出模块不希望收到任何事件的通知,则应设置EXITEVENT_INVALID标志。

VB

返回值是一个掩码,其中包含指示退出模块请求通知的事件的标志。 调用后,服务器引擎将通过调用 Notify 向退出模块发出这些类型的所有事件信号。 可以设置以下任何或所有标志。
返回代码/值 说明
EXITEVENT_CERTDENIED
&H4
证书被拒绝。
EXITEVENT_CERTISSUED
&H1
证书已颁发。
EXITEVENT_CERTPENDING
&H2
证书挂起。
EXITEVENT_CERTRETRIEVEPENDING
&H10
成功调用 RetrievePending
EXITEVENT_CERTREVOKED
&H8
证书已吊销。
EXITEVENT_CRLISSUED
&H20
颁发的证书吊销列表
EXITEVENT_INVALID
0
事件当前无效。
EXITEVENT_SHUTDOWN
&H40
证书服务关闭。

注解

编写自定义退出模块时,请实现此方法。

示例

#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
标头 certexit.h (包括 Certsrv.h)

另请参阅

ICertExit

ICertExit2

通知