Freigeben über


NdisMWriteLogData-Funktion (ndis.h)

NdisMWriteLogData überträgt vom Treiber bereitgestellte Informationen zur Nutzung und Anzeige durch eine treiberdediente Win32-Anwendung in die Protokolldatei.

Syntax

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

Parameter

[in] LogHandle

Gibt das von NdisMCreateLogzurückgegebene Handle an.

[in] LogBuffer

Zeigen Sie auf einen vom Treiber zugewiesenen Puffer, der die zu schreibenden Informationen enthält.

[in] LogBufferSize

Gibt an, wie viele Byte daten in die Protokolldatei kopiert werden sollen.

Rückgabewert

NdisMWriteLogData- kann eine der folgenden Werte zurückgeben:

Rückgabecode Beschreibung
NDIS_STATUS_SUCCESS
Die vom Treiber bereitgestellten Daten bei LogBuffer wurden in die Protokolldatei kopiert.
NDIS_STATUS_BUFFER_OVERFLOW
Die angegebene LogBufferSize ist zu groß, d. h. größer als die Protokolldatei selbst.

Bemerkungen

Wenn die treiberdedizierte Anwendung über eine ausstehende Anforderung für Protokolldateidaten verfügt, NdisMWriteLogData diese Anforderung erfüllt, sobald sie die vom Treiber bereitgestellten Informationen in die Protokolldatei kopiert hat.

Der Miniporttreiber kann einen LogBuffer- Zeiger an eine Position im Kernelstapel bereitstellen, wenn er derzeit bei IRQL-< DISPATCH_LEVEL ausgeführt wird. Andernfalls muss LogBuffer- auf einen Puffer zugreifen, den der Treiber aus einem nicht ausgelagerten Pool zugewiesen hat.

Der Treiber muss jede Drehsperre freigeben, die sie hält, bevor NdisMWriteLogData-aufgerufen wird.

NdisMWriteLogData- erkennt weder Grenzen zwischen Protokolldatensätzen noch die Win32-Funktion DeviceIoControl, die Anwendungen mit IOCTL_NDIS_GET_LOG_DATA aufrufen können, um Daten abzurufen, die von einem NDIS-Miniporttreiber in eine NDIS-Protokolldatei geschrieben wurden. NdisMWriteLogData- schreibt alle vom Miniport treiber bereitgestellten Daten bei LogBuffer- als Bytedatenstrom in die Protokolldatei. DeviceIoControl auch die Daten aus einem solchen Protokoll als Bytestream liest.

Folglich muss eine Anwendung, die ein NDIS-Protokoll liest, abgerufene Daten in Datensätzen sammeln. Um eine solche Anwendung beim Sammeln von Datensätzen mit variabler Länge zu unterstützen, kann jeder Miniporttreiber, der in ein solches Protokoll schreibt, am Anfang jedes Datensatzes eine Markierung einfügen. Anschließend kann die Anwendung, die die abgerufenen Daten formatiert, nach diesen Markierungen suchen, um den Anfang jedes Datensatzes zu bestimmen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt für NDIS 6.0- und NDIS 5.1-Treiber (siehe NdisMWriteLogData (NDIS 5.1)) in Windows Vista. Unterstützt für NDIS 5.1-Treiber (siehe NdisMWriteLogData (NDIS 5.1)) in Windows XP.
Zielplattform- Universal
Header- ndis.h (include Ndis.h)
Library Ndis.lib
IRQL- <= DISPATCH_LEVEL
DDI-Complianceregeln Irql_Miniport_Driver_Function(ndis)

Siehe auch

NdisAllocateFromNPagedLookasideList NdisAllocateMemoryWithTagPriority

NdisMCloseLog

NdisMCreateLog-

NdisMFlushLog

NdisReleaseSpinLock-