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 は、次のいずれかを返すことができます。
リターン コード | 形容 |
---|---|
|
LogBuffer ドライバーが指定したデータがログ ファイルにコピーされました。 |
|
指定 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 の