Win32 API 日本語リファレンス
ホーム › Networking.Clustering › PLOG_EVENT_ROUTINE

PLOG_EVENT_ROUTINE

コールバック

シグネチャ

void PLOG_EVENT_ROUTINE(
    INT_PTR ResourceHandle,
    LOG_LEVEL LogLevel,
    LPWSTR FormatString
);

パラメーター

フィールド型説明
ResourceHandleINT_PTRイベントを記録するリソースを識別するハンドル。ResourceHandle には、このリソースに対する Open 呼び出しで渡されたハンドルを指定します。
LogLevelLOG_LEVEL

LOG_LEVEL 列挙型で列挙される値で、イベントのログ レベルを表します。この値は情報提供のみを目的としています。有効な値は次のとおりで、重大度の低いものから順に示します。

LOG_INFORMATION (0)

イベントは情報提供を目的としたものです。

LOG_WARNING (1)

イベントは、発生した可能性のある障害を報告していますが、実際に障害が発生したかどうかは不明です。

LOG_ERROR (2)

イベントは 1 つのコンポーネントに影響しますが、他のコンポーネントは影響を受けず、ノードの残りの部分の整合性は損なわれていません。

LOG_SEVERE (3)

イベントは、複数のコンポーネントに影響する重大な障害、またはシステム全体の整合性が損なわれている、もしくは損なわれていると考えられることを報告しています。

FormatStringLPWSTR記録する情報を含む、null で終わる Unicode 文字列。この文字列は、FormatMessage 関数に渡すものと同じ形式である必要があります。

公式ドキュメント

クラスター ログにイベントを記録します。PLOG_EVENT_ROUTINE 型は、この関数へのポインターを定義します。

解説(Remarks)

LogEvent コールバック関数は リソース モニターによって実装され、リソース DLL がクラスター ログにイベントやエラーを報告するために呼び出します。リソース DLL は、LogEvent コールバック関数へのポインターを、Startup エントリ ポイント関数の LogEvent パラメーターで受け取ります。

LogEvent はイベント ログにエントリを書き込みません。イベント ログにイベントを報告するには、リソース DLL は ReportEvent 関数を呼び出す必要があります。

記録されるメッセージの形式は次のとおりです。

ResourceTypeName ResourceName: message

ResourceTypeName は「Generic Application」などのリソースの種類です。ResourceName は個々のリソースのわかりやすい名前であり、message はリソース DLL がリソース モニターに渡したメッセージです。

ログ エントリのサイズは 500 文字に制限されています。

例

次の例は、クラスター リソース タイプ ウィザードによって生成されたコードに基づいています。その他の例については、リソース DLL のサンプルを参照してください。

//  The following parameters are assumed to be already defined:
//  g_pfnLogEvent   Stores the address of the LogEvent callback
//                  function passed to the DLL in the
//                  Startup entry point.
//  pResourceEntry  Stores resource instance data.
//  MY_SVCNAME      Stores the name of a service.
//  nStatus         Result

//  Log the fact that an attempt to start a service has failed.

//  Basic message
    (g_pfnLogEvent)( pResourceEntry->hResourceHandle,
                     LOG_ERROR,
                     L"Failed to start the specified service.\n" );

//  Message w/string argument
    (g_pfnLogEvent)( pResourceEntry->hResourceHandle,
                     LOG_ERROR,
                     L"OnlineThread: Failed to start the '%1' service.\n",
                     MY_SVCNAME );

//  Message w/multiple arguments
    (g_pfnLogEvent)( pResourceEntry->hResourceHandle,
                     LOG_ERROR,
                     L"OnlineThread: Failed to start the '%1' service. Error: %2!u!.\n",
                     MY_SVCNAME,
                     nStatus );
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)