ICertExit::Initialize 方法 (certexit.h)
初始化方法是由伺服器引擎在初始化本身時呼叫。
呼叫 exit 模組的 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 向結束模組發出訊號。 可以設定下列任何或所有旗標。傳回碼/值 | Description |
---|---|
|
憑證遭拒。 |
|
核發的憑證。 |
|
憑證擱置中。 |
|
成功呼叫 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) |