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