Share via


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 値」を参照してください。

注釈

証明機関が複数の終了モジュールを使用している場合、Certificate Services はイベントの各終了モジュールに通知します (終了モジュールが初期化によって通知を要求した場合)。 出口モジュールが通知される順序は、1 つの出口モジュールが別の出口モジュールの処理に依存していると見なすべきではありません。 通知された各終了モジュールは、次の終了モジュールに通知される前に 、Notify から戻る必要があります。

#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