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 可以傳回下列其中一項:

傳回碼 Description
NDIS_STATUS_SUCCESS
LogBuffer 上的驅動程式提供的數據已複製到記錄檔中。
NDIS_STATUS_BUFFER_OVERFLOW
指定的 LogBufferSize 太大,也就是大於記錄檔本身。

備註

如果驅動程式專用應用程式有記錄檔數據的未處理要求, NdisMWriteLogData 會在將驅動程式提供的資訊複製到記錄檔時立即滿足該要求。

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

驅動程式必須在呼叫 NdisMWriteLogData 之前釋放它所持有的任何微調鎖定。

NdisMWriteLogData 無法辨識記錄檔之間的界限,也無法辨識 Win32 函式 DeviceIoControl,應用程式可以使用 IOCTL_NDIS_GET_LOG_DATA 呼叫來擷取由 NDIS 迷你埠驅動程式寫入 NDIS 記錄檔的數據。 NdisMWriteLogData 會將 LogBuffer 上提供的所有迷你埠驅動程式數據寫入記錄檔中作為位元組數據流。 DeviceIoControl 也會從這類記錄檔讀取數據做為位元組數據流。

因此,讀取 NDIS 記錄的應用程式必須將擷取的數據收集到記錄中。 為了協助這類應用程式收集可變長度記錄,寫入這類記錄的任何迷你埠驅動程式都可以在每個記錄的開頭插入標記。 然後,應用程式格式化擷取的數據可以搜尋這些標記,以判斷每個記錄的開頭。

規格需求

需求
最低支援的用戶端 支援 NDIS 6.0 和 NDIS 5.1 驅動程式 (請參閱 Windows Vista 中的 NdisMWriteLogData (NDIS 5.1) ) 。 (支援 NDIS 5.1 驅動程式,請參閱 Windows XP 中的 NdisMWriteLogData (NDIS 5.1) ) 。
目標平台 Universal
標頭 ndis.h (包含 Ndis.h)
程式庫 Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI 合規性規則 Irql_Miniport_Driver_Function (ndis)

另請參閱

NdisAllocateFromNPagedLo一sideList NdisAllocateMemoryWithTagPriority

NdisMCloseLog

NdisMCreateLog

NdisMFlushLog

NdisReleaseSpinLock