次の方法で共有


NdisMWriteLogData 関数 (ndis.h)

NdisMWriteLogData 、ドライバー専用 Win32 アプリケーションによって使用および表示するために、ドライバーが提供する情報をログ ファイルに転送します。

構文

NDIS_STATUS NdisMWriteLogData(
  [in] NDIS_HANDLE LogHandle,
  [in] PVOID       LogBuffer,
  [in] UINT        LogBufferSize
);

パラメーター

[in] LogHandle

NdisMCreateLog によって返されるハンドル指定します。

[in] LogBuffer

書き込む情報を含むドライバー割り当てバッファーへのポインター。

[in] LogBufferSize

ログ ファイルにコピーするデータのバイト数を指定します。

戻り値

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

リターン コード 形容
NDIS_STATUS_SUCCESS
LogBuffer ドライバーが指定したデータがログ ファイルにコピーされました。
NDIS_STATUS_BUFFER_OVERFLOW
指定 LogBufferSize が大きすぎます。つまり、ログ ファイル自体よりも大きすぎます。

備考

ドライバー専用アプリケーションにログ ファイル データに対する未処理の要求がある場合、NdisMWriteLogData は、ドライバーが指定した情報をログ ファイルにコピーするとすぐに、その要求を満たします。

ミニポート ドライバーは、現在 IRQL DISPATCH_LEVEL で実行されている場合、カーネル スタック上の場所への < ポインターを提供できます。 それ以外 、LogBuffer は、ドライバーが非ページ プールから割り当てたバッファーにアクセスする必要があります。

ドライバーは、NdisMWriteLogData 呼び出す前に、保持しているスピン ロックを解放する必要があります。

NdisMWriteLogData は、ログ レコード間の境界を認識しません。また、Win32 関数 DeviceIoControl。アプリケーションは、ndis ミニポート ドライバーによって NDIS ログ ファイルに書き込まれたデータを取得するためにIOCTL_NDIS_GET_LOG_DATAを呼び出すことができます。 NdisMWriteLogData は、LogBuffer にあるミニポート ドライバーが提供するすべてのデータをバイト ストリームとしてログ ファイルに書き込みます。 DeviceIoControl は、バイト ストリームなどのログからもデータを読み取ります。

したがって、NDIS ログを読み取るアプリケーションは、取得したデータをレコードに収集する必要があります。 可変長レコードを収集するこのようなアプリケーションを支援するために、このようなログに書き込むミニポート ドライバーは、各レコードの先頭にマーカーを挿入できます。 次に、取得したデータを書式設定するアプリケーションは、これらのマーカーを検索して、各レコードの開始を決定できます。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista の NDIS 6.0 および NDIS 5.1 ドライバー (NdisMWriteLogData (NDIS 5.1) を参照) でサポートされています。 Windows XP の NDIS 5.1 ドライバー (NdisMWriteLogData (NDIS 5.1) を参照) でサポートされています。
ターゲット プラットフォーム 万国
ヘッダー ndis.h (Ndis.h を含む)
ライブラリ Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 する Irql_Miniport_Driver_Function(ndis)

関連項目

NdisAllocateFromNPagedLookasideList NdisAllocateMemoryWithTagPriority

NdisMCloseLog

NdisMCreateLog

NdisMFlushLog

NdisReleaseSpinLock