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