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 値」を参照してください。
注釈
証明機関が複数の終了モジュールを使用している場合、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 を含む) |