NdisWriteEventLogEntry 関数 (ndis.h)
NdisWriteEventLogEntry は、Win32 イベント ログにイベントを記録します。
構文
NDIS_STATUS NdisWriteEventLogEntry(
[in] PVOID LogHandle,
[in] NDIS_STATUS EventCode,
[in] ULONG UniqueEventValue,
[in] USHORT NumStrings,
[in, optional] PVOID StringsList,
[in] ULONG DataSize,
[in, optional] PVOID Data
);
パラメーター
[in] LogHandle
このイベントをログに記録しているプロトコルのドライバー オブジェクトへのポインター。
[in] EventCode
イベントを記述するNDIS_STATUS_XXX コードを指定します。
[in] UniqueEventValue
エラー メッセージのこのインスタンスを識別します。
[in] NumStrings
オプションの StringsList 内の Unicode 文字列へのポインターの数を指定します。 StringsList が NULL の場合、NumStrings は 0 である必要があります。
[in, optional] StringsList
NULL またはバッファー内の Unicode 文字列を指します。 イベントを記述するこれらの文字列は、Win32 イベント ログに挿入され、Win32 イベント ビューアーで確認できます。 各文字列は、NUL で終わる Unicode 文字列である必要があります。
[in] DataSize
Data のバイナリ データのバッファー内のバイト数を指定します。 Data が NULL の場合、DataSize は 0 である必要があります。
[in, optional] Data
NULL または は、イベントを理解するのに役立つバッファーされたバイナリ ダンプ データを指します。 このデータは、Win32 イベント ビューアーで確認できます。
戻り値
NdisWriteEventLogEntry は、次のいずれかの値を返すことができます。
リターン コード | 説明 |
---|---|
|
イベントが正常にログに記録されました。 |
|
必要に応じて指定された Unicode 文字列とバイナリ ダンプ データが、許容される最大サイズ (MAX_EVENT_LOG_DATA_SIZE) を超えています。 |
|
NDIS は、I/O エラー ログ レコードのメモリを割り当てることができませんでした。 |
注釈
NdisWriteEventLogEntry は、I/O エラー ログ レコードを割り当て、イベントに関する指定された情報をレコードに入力し、そのレコードを I/O エラー ログ ファイルに書き込みます。 ユーザーは、Win32 イベント ビューアーを使用して、イベントの説明やバイナリ ダンプ データのオプションの説明など、ログに記録されたイベントを表示できます。
NT エラー ログ スレッドは、オプションの StringsList で指定されたすべての文字列を使用して、Win32 イベント ログに書き込まれたメッセージを入力します。 各文字列は、NUL で終わる Unicode 文字列である必要があります。 I/O マネージャーは、最初の文字列がエラーを報告するドライバーの名前か、エラーの原因となったデバイスの名前のいずれかであると想定します。
呼び出し元によって提供される Unicode 文字列は、レジストリから読み取る必要があります。または言語に依存しない必要があります (つまり、文字列は任意の言語で同じである必要があります。たとえば、文字列はファイル名である可能性があります)。
呼び出し元から提供されるダンプ データには、イベントの理解に役立つ任意のバイナリ データ (レジスタ値など) を指定できます。 呼び出し元は、バイナリ データを埋め込む必要はありません。 必要に応じて、 NdisWriteEventLogEntry はバイナリ ダンプ データを埋め込み、最終的なデータ サイズが sizeof(ULONG) の複数の整数になるようにします。
システムは、 NdisWriteEventLogEntry に提供される省略可能なデータの合計サイズを制限します。 文字列リストと (埋め込まれている可能性がある) バイナリ ダンプの合計サイズは、MAX_EVENT_LOG_DATA_SIZE以下である必要があります。
NdisWriteEventLogEntry は、プロトコル ドライバーによってのみ呼び出されます。 ミニポート ドライバーは、イベントとエラーをログに記録するために NdisWriteErrorLogEntry を呼び出す必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista の NDIS 6.0 および NDIS 5.1 ドライバー (「NdisWriteEventLogEntry (NDIS 5.1)」を参照) でサポートされています。 Windows XP の NDIS 5.1 ドライバー (NdisWriteEventLogEntry (NDIS 5.1) を参照) でサポートされています。 |
対象プラットフォーム | ユニバーサル |
Header | ndis.h (Ndis.h を含む) |
Library | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI コンプライアンス規則 | Irql_Miscellaneous_Function(ndis) |