iCertExit::Notify 方法 (certexit.h)

服务器引擎调用 Notify 方法以通知退出模块已发生事件。

语法

HRESULT Notify(
  [in] LONG ExitEvent,
  [in] LONG Context
);

参数

[in] ExitEvent

指示已发生的退出事件的类型的掩码。 掩码可以设置以下标志位之一。

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

[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)

另请参阅

ICertExit

ICertExit2