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 |
---|---|
|
Die vom Treiber bereitgestellten Daten bei LogBuffer wurden in die Protokolldatei kopiert. |
|
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) |