次の方法で共有


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 はイベントの各終了モジュールに通知します (Initializeを使用して終了モジュールが通知を要求した場合)。 出口モジュールに通知される順序は、想定されるのではなく、1 つの出口モジュールが別の出口モジュールの処理に依存してはなりません。 通知された各出口モジュールは、次の出口モジュールに通知される前に、通知 から戻る必要があります。

#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 [デスクトップ アプリのみ]
ターゲット プラットフォーム ウィンドウズ
ヘッダー certexit.h (Certsrv.h を含む)

関連項目

ICertExit

ICertExit2