共用方式為


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 一旦將驅動程式提供的資訊複製到記錄檔,就會立即滿足該要求。

迷你埠驅動程式可以提供 LogBuffer 核心堆疊上位置的指標,如果它目前在 IRQL < DISPATCH_LEVEL 執行。 否則,LogBuffer 必須存取驅動程式從非分頁集區配置的緩衝區。

驅動程式必須先釋放它所持有的任何微調鎖定,才能呼叫 NdisMWriteLogData

NdisMWriteLogData 無法辨識記錄檔之間的界限,Win32 函式 DeviceIoControl,應用程式可以使用 IOCTL_NDIS_GET_LOG_DATA 呼叫,以擷取 NDIS 迷你埠驅動程式寫入 NDIS 記錄檔的數據。 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