ICertExit::Initialize 方法 (certexit.h)

初始化方法是由伺服器引擎在初始化本身時呼叫。

呼叫 exit 模組的 Initialize 方法可讓結束模組執行初始化,並通知伺服器引擎想要通知的事件種類。

語法

HRESULT Initialize(
  [in]          const BSTR strConfig,
  [out, retval] LONG       *pEventMask
);

參數

[in] strConfig

表示證書頒發機構單位的名稱,如憑證服務設定期間所輸入。 如需設定字串名稱的相關信息,請參閱 ICertConfig2

[out, retval] pEventMask

值的指標,表示結束模組要求通知的事件。 這可以是下列一或多個值。

意義
EXITEVENT_CERTDENIED
憑證遭拒。
EXITEVENT_CERTISSUED
核發的憑證。
EXITEVENT_CERTPENDING
憑證擱置中。
EXITEVENT_CERTRETRIEVEPENDING
成功呼叫 RetrievePending
EXITEVENT_CERTREVOKED
憑證已撤銷。
EXITEVENT_CRLISSUED
核發的證書吊銷清單
EXITEVENT_SHUTDOWN
憑證服務關閉。

傳回值

C++

如果方法成功,此方法會傳回 S_OK,而 *pEventMask 會設定為下表中的旗標組合, (或EXITEVENT_INVALID如果結束模組不想收到任何事件) 的通知。

如果方法失敗,它會傳回指出錯誤的 HRESULT 值。 如需常見錯誤碼的清單,請參閱 一般 HRESULT 值

如果結束模組不想收到任何事件的通知,則應該設定旗標EXITEVENT_INVALID。

VB

傳回值是包含旗標的遮罩,指出結束模組要求通知的事件。 呼叫之後,這些類型的所有事件都會由伺服器引擎透過呼叫 Notify 向結束模組發出訊號。 可以設定下列任何或所有旗標。
傳回碼/值 Description
EXITEVENT_CERTDENIED
&H4
憑證遭拒。
EXITEVENT_CERTISSUED
&H1
核發的憑證。
EXITEVENT_CERTPENDING
&H2
憑證擱置中。
EXITEVENT_CERTRETRIEVEPENDING
&H10
成功呼叫 RetrievePending
EXITEVENT_CERTREVOKED
&H8
憑證已撤銷。
EXITEVENT_CRLISSUED
&H20
核發的證書吊銷清單
EXITEVENT_INVALID
0
事件目前無效。
EXITEVENT_SHUTDOWN
&H40
憑證服務關閉。

備註

當您撰寫自定義結束模組時,請實作這個方法。

範例

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

另請參閱

ICertExit

ICertExit2

通知