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