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 文字列へのポインターの数を指定します。 StringsListNULL の場合、NumStrings は 0 である必要があります。

[in, optional] StringsList

NULL またはバッファー内の Unicode 文字列を指します。 イベントを記述するこれらの文字列は、Win32 イベント ログに挿入され、Win32 イベント ビューアーで確認できます。 各文字列は、NUL で終わる Unicode 文字列である必要があります。

[in] DataSize

Data のバイナリ データのバッファー内のバイト数を指定します。 DataNULL の場合、DataSize は 0 である必要があります。

[in, optional] Data

NULL または は、イベントを理解するのに役立つバッファーされたバイナリ ダンプ データを指します。 このデータは、Win32 イベント ビューアーで確認できます。

戻り値

NdisWriteEventLogEntry は、次のいずれかの値を返すことができます。

リターン コード 説明
NDIS_STATUS_SUCCESS
イベントが正常にログに記録されました。
NDIS_STATUS_BUFFER_TOO_SHORT
必要に応じて指定された Unicode 文字列とバイナリ ダンプ データが、許容される最大サイズ (MAX_EVENT_LOG_DATA_SIZE) を超えています。
NDIS_STATUS_RESOURCES
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)

こちらもご覧ください

MiniportInitializeEx

MiniportResetEx

NdisMSetMiniportAttributes

NdisWriteErrorLogEntry