コールバック関数PLOG_EVENT_ROUTINE (resapi.h)
クラスター ログにイベントを記録します。 PLOG_EVENT_ROUTINE型は、この関数へのポインターを定義します。
構文
PLOG_EVENT_ROUTINE PlogEventRoutine;
void PlogEventRoutine(
[in] RESOURCE_HANDLE ResourceHandle,
[in] LOG_LEVEL LogLevel,
[in] LPCWSTR FormatString,
... unnamedParam4
)
{...}
パラメーター
[in] ResourceHandle
イベントを記録するリソースを識別する処理。 ResourceHandle の値は、このリソースの Open 呼び出し中に渡されるハンドルである必要があります。
[in] LogLevel
イベントのログ レベルを表し、情報のみを対象とする LOG_LEVEL 列挙によって列挙される値。 次の有効な値は、最小から最も重大な順に表示されます。
LOG_INFORMATION (0)
イベントは情報です。
LOG_WARNING (1)
イベントは発生した可能性のあるエラーを報告していますが、失敗が実際に発生したかどうかは不明です。
LOG_ERROR (2)
イベントは 1 つのコンポーネントに影響しますが、他のコンポーネントは影響を受けず、 ノード の残りの部分の整合性は損なわれません。
LOG_SEVERE (3)
イベントは、複数のコンポーネントに影響を与える重大な障害を報告しているか、システム全体の整合性が侵害されているか、侵害されていると考えられています。
[in] FormatString
記録する情報を含む Null で終わる Unicode 文字列。 この文字列は、 FormatMessage 関数に渡される形式と同じ形式である必要があります。
unnamedParam4
戻り値
なし
解説
LogEvent コールバック関数は、リソース モニターによって実装され、イベントとエラーをクラスター ログに報告するためにリソース DLL によって呼び出されます。 リソース DLL は、LogEventパラメーター内の LogEvent コールバック関数へのポインターを、スタートアップ エントリ ポイント関数に受け取ります。
LogEvent では、イベント ログにエントリは書き込まれません。 イベント ログ内のイベントを報告するには、リソース DLL で ReportEvent 関数を呼び出す必要があります。
ログに記録されるメッセージの形式は次のようになります。
ResourceTypeName ResourceName: message
ResourceTypeName は、"汎用アプリケーション" などの リソースの種類です。 特定のリソース名は、特定のリソースのわかりやすい名前であり、メッセージはリソース 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 );
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | サポートなし |
サポートされている最小のサーバー | Windows Server 2008 Enterprise、Windows Server 2008 Datacenter |
対象プラットフォーム | Windows |
ヘッダー | resapi.h |