Compartir a través de


Función NdisMWriteLogData (ndis.h)

NdisMWriteLogData transfiere información proporcionada por el controlador en el archivo de registro para su consumo y visualización mediante una aplicación Win32 dedicada al controlador.

Sintaxis

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

Parámetros

[in] LogHandle

Especifica el identificador devuelto por NdisMCreateLog.

[in] LogBuffer

Puntero a un búfer asignado por el controlador que contiene la información que se va a escribir.

[in] LogBufferSize

Especifica cuántos bytes de datos se van a copiar en el archivo de registro.

Valor devuelto

NdisMWriteLogData puede devolver una de las siguientes opciones:

Código devuelto Descripción
NDIS_STATUS_SUCCESS
Los datos proporcionados por el controlador en LogBuffer se han copiado en el archivo de registro.
NDIS_STATUS_BUFFER_OVERFLOW
El logBufferSize dado es demasiado grande, es decir, mayor que el propio archivo de registro.

Observaciones

Si la aplicación dedicada al controlador tiene una solicitud pendiente para los datos del archivo de registro, NdisMWriteLogData satisface esa solicitud tan pronto como haya copiado la información proporcionada por el controlador en el archivo de registro.

El controlador de miniport puede proporcionar un puntero de LogBuffer a una ubicación en la pila del kernel si se está ejecutando actualmente en irQL < DISPATCH_LEVEL. De lo contrario, logBuffer deben tener acceso a un búfer asignado desde el grupo no paginado.

El controlador debe liberar cualquier bloqueo de número que esté manteniendo antes de llamar a NdisMWriteLogData.

NdisMWriteLogData no reconoce límites entre los registros de registro ni la función Win32, DeviceIoControl, que las aplicaciones pueden llamar con IOCTL_NDIS_GET_LOG_DATA para recuperar datos escritos en un archivo de registro NDIS mediante un controlador de miniporte NDIS. NdisMWriteLogData escribe todos los datos proporcionados por el controlador de miniport en logBuffer en el archivo de registro como una secuencia de bytes. DeviceIoControl lee también los datos de este tipo de registro como una secuencia de bytes.

Por lo tanto, una aplicación que lee un registro NDIS debe recopilar datos recuperados en registros. Para ayudar a esta aplicación en la recopilación de registros de longitud variable, cualquier controlador de miniporte que escriba en dicho registro puede insertar un marcador al principio de cada registro. A continuación, la aplicación que aplica formato a los datos recuperados puede buscar estos marcadores para determinar el inicio de cada registro.

Requisitos

Requisito Valor
cliente mínimo admitido Compatible con controladores NDIS 6.0 y NDIS 5.1 (consulte NdisMWriteLogData (NDIS 5.1)) en Windows Vista. Compatible con los controladores NDIS 5.1 (consulte NdisMWriteLogData (NDIS 5.1)) en Windows XP.
de la plataforma de destino de Universal
encabezado de ndis.h (incluya Ndis.h)
biblioteca de Ndis.lib
irQL <= DISPATCH_LEVEL
reglas de cumplimiento de DDI Irql_Miniport_Driver_Function(ndis)

Consulte también

NdisAllocateFromNPagedLookasideList NdisAllocateMemoryWithTagPriority

NdisMCloseLog

NdisMCreateLog

NdisMFlushLog

NdisReleaseSpinLock