Función StorPortEtwLogByteStream (storport.h)

StorPortEtwLogByteStream registra un evento de seguimiento de eventos para Windows (ETW) con un parámetro de secuencia de bytes de uso general en el canal especificado.

Sintaxis

ULONG StorPortEtwLogByteStream(
  [in]           PVOID                      HwDeviceExtension,
  [in, optional] PSTOR_ADDRESS              Address,
  [in]           STORPORT_ETW_EVENT_CHANNEL EventChannel,
  [in]           ULONG                      EventId,
  [in]           PWSTR                      EventDescription,
  [in]           ULONGLONG                  EventKeywords,
  [in]           STORPORT_ETW_LEVEL         EventLevel,
  [in]           STORPORT_ETW_EVENT_OPCODE  EventOpcode,
  [in]           USHORT                     DataLength,
  [in]           PUCHAR                     Data
);

Parámetros

[in] HwDeviceExtension

Puntero a la extensión del dispositivo del miniporte.

[in, optional] Address

Dirección del dispositivo de la unidad de almacenamiento. Este parámetro es NULL para dispositivos adaptadores.

[in] EventChannel

Valor STORPORT_ETW_EVENT_CHANNEL que identifica el canal ETW en el que se va a registrar el evento.

[in] EventId

Identificador de evento definido por miniporte que identifica de forma única el evento.

[in] EventDescription

Cadena corta que describe el evento. EventDescription es obligatorio y debe ser <= STORPORT_ETW_MAX_DESCRIPTION_LENGTH caracteres, no incluido el terminador NULL.

[in] EventKeywords

Marcas de palabra clave para la categorización de eventos. Establezca en 0 si no se desea ninguna palabra clave. Las palabras clave son una combinación OR bit a bit de lo siguiente.

Valor Significado
STORPORT_ETW_EVENT_KEYWORD_IO El evento está relacionado con las operaciones de E/S del dispositivo.
STORPORT_ETW_EVENT_KEYWORD_PERFORMANCE El evento está relacionado con el rendimiento.
STORPORT_ETW_EVENT_KEYWORD_POWER El evento está relacionado con la alimentación del dispositivo.
STORPORT_ETW_EVENT_KEYWORD_ENUMERATION El evento está relacionado con la enumeración de dispositivos.

[in] EventLevel

Nivel de evento. Este valor puede indicar la importancia o gravedad del evento. Este es uno de los siguientes valores.

Valor Significado
StorportEtwLevelLogAlways Registre el evento incondicionalmente. El evento se registra independientemente de los filtros establecidos.
StorportEtwLevelCritical Evento de nivel crítico.
StorportEtwLevelError Evento de nivel de error.
StorportEtwLevelWarning Evento de nivel de advertencia.
StorportEtwLevelInformational Evento informativo.
StorportEtwLevelVerbose Información detallada del evento proporcionada.

[in] EventOpcode

Naturaleza operativa del evento. Este es uno de los siguientes valores.

Valor Significado
StorportEtwEventOpcodeInfo Evento informativo general.
StorportEtwEventOpcodeStart El dispositivo o la unidad se estaba iniciando.
StorportEtwEventOpcodeStop El dispositivo o la unidad se detenía. El evento corresponde al último evento de inicio no emparejado.
StorportEtwEventOpcodeDC_Start Evento de inicio de recopilación de datos. Se trata de tipos de eventos de detención.
StorportEtwEventOpcodeDC_Stop Evento de detención de recopilación de datos. Se trata de tipos de eventos de detención.
StorportEtwEventOpcodeExtension Evento de extensión.
StorportEtwEventOpcodeReply Evento de respuesta.
StorportEtwEventOpcodeResume El dispositivo o la unidad se reanudó después de la suspensión.
StorportEtwEventOpcodeSuspend El dispositivo o la unidad se suspenden pendientes de finalización de otra operación.
StorportEtwEventOpcodeReceive La transferencia de actividad se recibe de otro componente.

[in] DataLength

Longitud, en bytes, del flujo de bytes al que apunta Data , donde 1 <= DataLength<= STORPORT_ETW_MAX_BYTE_STREAM_LENGTH.

[in] Data

Puntero a la secuencia de bytes ETW personalizada del miniporte.

Valor devuelto

StorPortEtwLogByteStream devuelve uno de los siguientes códigos de estado:

Código devuelto Descripción
STOR_STATUS_SUCCESS El evento se registró correctamente en el canal ETW especificado.
STOR_STATUS_INVALID_PARAMETER Si se devuelve este valor, significará que el parámetro en cuestión no es válido. Por ejemplo, HwDeviceExtension, EventDescription o Data son NULL, DataLength es mayor que la longitud máxima del nombre, EventChannel es un valor no válido.
STOR_STATUS_UNSUCCESSFUL Se devuelve por otros motivos internos.

Comentarios

Un miniport puede llamar a StorPortEtwLogByteStream para registrar un evento ETW en un canal específico con un parámetro de secuencia de bytes de uso general.

StorPortEtwLogByteStream es útil cuando un miniport necesita registrar el contexto más allá de lo permitido en StorPortEtwEvent2, StorPortEtwEvent4 o StorPortEtwEvent8. Por ejemplo, un minipuerto puede registrar su estructura de datos interna como una secuencia de bytes que se puede usar para fines de diagnóstico cuando se notifican problemas.

Requisitos

Requisito Value
Servidor mínimo compatible Windows Server 2022
Encabezado storport.h

Consulte también

StorPortEtwEvent2

StorPortEtwEvent4

StorPortEtwEvent8

StorPortEtwLogError