Función NdisMWriteLogData (ndis.h)

NdisMWriteLogData transfiere información proporcionada por el controlador en el archivo de registro para su consumo y visualización por 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
LogBufferSize dado es demasiado grande, es decir, mayor que el propio archivo de registro.

Comentarios

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 minipuerto puede proporcionar un puntero LogBuffer a una ubicación en la pila del kernel si se está ejecutando actualmente en irQL < DISPATCH_LEVEL. De lo contrario, LogBuffer debe tener acceso a un búfer que el controlador asignó desde un 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 registros de registro, ni la función Win32 , DeviceIoControl, a la que las aplicaciones pueden llamar con IOCTL_NDIS_GET_LOG_DATA para recuperar los datos escritos en un archivo de registro NDIS mediante un controlador de miniporte de NDIS. NdisMWriteLogData escribe todos los datos proporcionados por el controlador miniport en LogBuffer en el archivo de registro como una secuencia de bytes. DeviceIoControl también lee los datos de un 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 Value
Cliente mínimo compatible Compatible con los controladores NDIS 6.0 y NDIS 5.1 (consulta NdisMWriteLogData (NDIS 5.1)) en Windows Vista. Compatible con los controladores NDIS 5.1 (consulta NdisMWriteLogData (NDIS 5.1)) en Windows XP.
Plataforma de destino Universal
Encabezado ndis.h (incluya Ndis.h)
Library Ndis.lib
IRQL <= DISPATCH_LEVEL
Reglas de cumplimiento de DDI Irql_Miniport_Driver_Function(ndis)

Consulte también

NdisAllocateFromNPagedLookasideList NdisAllocateMemoryWithTagPriority

NdisMCloseLog

NdisMCreateLog

NdisMFlushLog

NdisReleaseSpinLock