iCertExit 接口 (certexit.h)
ICertExit 接口提供证书服务服务器和退出模块之间的通信。
- 初始化证书服务服务器。
- 发生证书颁发、 证书吊销列表 (CRL) 颁发或服务器关闭等事件,通知退出模块。
- 检索退出模块的说明。
ICertExit 在 Certexit.h 中定义。 但是,在创建程序时,请使用 Certsrv.h 作为包含文件。
证书服务接口支持单元线程和自由线程模型。 为了提高吞吐量,建议使用自由线程。
继承
ICertExit 接口继承自 IDispatch 接口。 ICertExit 还具有以下类型的成员:
方法
ICertExit 接口包含以下方法。
ICertExit::GetDescription 返回退出模块及其函数的可读说明。 |
ICertExit::Initialize 由服务器引擎在初始化自身时调用。 |
ICertExit::Notify 由服务器引擎调用,以通知退出模块已发生事件。 |
注解
ICertExit 的实施者还应实现 ICertManageModule。 此外,实现 ICertExit 的类的 ProgID 必须符合命名约定。 具体而言,ProgID 必须采用以下形式:
“MyApp。退出”
其中 ,MyApp 是标识应用程序的说明符。 例如,在 C++ 中,以下代码可用于实现 ICertExit 的类的 DECLARE_REGISTRY 宏 (CMyCertExitModule) 。
DECLARE_REGISTRY(
CMyCertExitModule,
L"MyCode.Exit.1",
L"MyCode.Exit",
IDS_CERTEXITMODULE_DESC,
THREADFLAGS_BOTH)
对于上一个示例,IDS_CERTEXITMODULE_DESC值是描述类的字符串 (.rc) 资源文件中特定于应用程序的标识符。
Certmod.h 中定义的字符串常量可用于简化命名约定的遵循。
常数 | Value |
---|---|
wszCERTEXITMODULE_POSTFIX | TEXT (”。退出“) |
证书服务服务器上一次最多只能注册一个 Visual Basic Scripting Edition 退出模块。 如果注册了多个 Visual Basic Scripting Edition 退出模块,则证书颁发机构 MMC 管理单元、证书服务应用程序或 certutil 命令行程序可能会生成错误。 请注意,成功生成 DLL 时,Visual Basic Scripting Edition 开发环境会自动注册该 DLL。 因此,如果已注册一个 Visual Basic Scripting Edition 退出模块,并且创建了另一个 Visual Basic Scripting Edition 退出模块,则可能会遇到这种情况。 若要避免这种情况,必须通过命令行指令 regsvr32 /u FileName.dll取消注册 Visual Basic Scripting Edition 退出模块之一,其中 FileName.dll 是不应激活的 Visual Basic Scripting Edition 退出模块的名称。
Visual Basic Scripting Edition 中 ICertExit 的实现者必须按以下格式命名其项目:
“MyApp”
其中,MyApp 是标识应用程序说明符;此外,实现 ICertExit 的类必须命名为“Exit”。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 无受支持的版本 |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | certexit.h (包括 Certsrv.h) |