Função StorPortEtwLogByteStream (storport.h)

StorPortEtwLogByteStream registra um evento ETW (Rastreamento de Eventos para Windows) com um parâmetro de fluxo de bytes de uso geral para o canal especificado.

Sintaxe

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

Um ponteiro para a extensão de dispositivo do miniporto.

[in, optional] Address

O endereço do dispositivo da unidade de armazenamento. Esse parâmetro é NULL para dispositivos de adaptador.

[in] EventChannel

Um valor STORPORT_ETW_EVENT_CHANNEL que identifica o canal ETW no qual registrar o evento.

[in] EventId

Uma ID de evento definida pelo miniporto que identifica exclusivamente o evento.

[in] EventDescription

Uma cadeia de caracteres curta que descreve o evento. EventDescription é necessário e deve ser <= STORPORT_ETW_MAX_DESCRIPTION_LENGTH caracteres, não incluindo o terminador NULL.

[in] EventKeywords

Sinalizadores de palavra-chave para categorização de eventos. Defina como 0 se nenhuma palavra-chave for desejada. As palavras-chave são uma combinação OR bit a bit do seguinte.

Valor Significado
STORPORT_ETW_EVENT_KEYWORD_IO O evento está relacionado às operações de E/S do dispositivo.
STORPORT_ETW_EVENT_KEYWORD_PERFORMANCE O evento está relacionado ao desempenho.
STORPORT_ETW_EVENT_KEYWORD_POWER O evento está relacionado à energia do dispositivo.
STORPORT_ETW_EVENT_KEYWORD_ENUMERATION O evento está relacionado à enumeração do dispositivo.

[in] EventLevel

O nível de evento. Esse valor pode indicar a importância ou a gravidade do evento. Esse é um dos valores a seguir.

Valor Significado
StorportEtwLevelLogAlways Registre o evento incondicionalmente. O evento é registrado independentemente de qualquer conjunto de filtros.
StorportEtwLevelCritical Evento de nível crítico.
StorportEtwLevelError Evento de nível de erro.
StorportEtwLevelWarning Evento de nível de aviso.
StorportEtwLevelInformational Evento informativo.
StorportEtwLevelVerbose Informações detalhadas do evento fornecidas.

[in] EventOpcode

A natureza operacional do evento. Esse é um dos valores a seguir.

Valor Significado
StorportEtwEventOpcodeInfo Evento informativo geral.
StorportEtwEventOpcodeStart O dispositivo ou unidade estava iniciando.
StorportEtwEventOpcodeStop O dispositivo ou a unidade estava parando. O evento corresponde ao último evento inicial não pago.
StorportEtwEventOpcodeDC_Start Um evento inicial de coleta de dados. Esses são tipos de evento de rundown.
StorportEtwEventOpcodeDC_Stop Um evento de interrupção da coleta de dados. Esses são tipos de evento de rundown.
StorportEtwEventOpcodeExtension Um evento de extensão.
StorportEtwEventOpcodeReply Um evento de resposta.
StorportEtwEventOpcodeResume O dispositivo ou unidade foi retomado após a suspensão.
StorportEtwEventOpcodeSuspend O dispositivo ou unidade está suspenso até a conclusão de outra operação.
StorportEtwEventOpcodeReceive A transferência de atividade é recebida de outro componente.

[in] DataLength

Comprimento, em bytes, do fluxo de bytes para o qual os dados apontam, em que 1 <= DataLength<= STORPORT_ETW_MAX_BYTE_STREAM_LENGTH.

[in] Data

Ponteiro para o fluxo de bytes ETW personalizado do miniport.

Retornar valor

StorPortEtwLogByteStream retorna um dos seguintes códigos de status:

Código de retorno Descrição
STOR_STATUS_SUCCESS O evento foi registrado com êxito no canal ETW especificado.
STOR_STATUS_INVALID_PARAMETER Um parâmetro é inválido. Por exemplo, HwDeviceExtension, EventDescription ou Data são NULL, DataLength é maior que o comprimento máximo do nome, EventChannel é um valor inválido.
STOR_STATUS_UNSUCCESSFUL Retornado por outros motivos internos.

Comentários

Um miniporto pode chamar StorPortEtwLogByteStream para registrar um evento ETW em um canal específico com um parâmetro de fluxo de bytes de uso geral.

StorPortEtwLogByteStream é útil quando um miniporto precisa registrar contexto além do permitido em StorPortEtwEvent2, StorPortEtwEvent4 ou StorPortEtwEvent8. Por exemplo, um miniporto pode registrar sua estrutura de dados interna como um fluxo de bytes que pode ser usado para fins de diagnóstico quando os problemas são relatados.

Requisitos

Requisito Valor
Servidor mínimo com suporte Windows Server 2022
Cabeçalho storport.h

Confira também

StorPortEtwEvent2

StorPortEtwEvent4

StorPortEtwEvent8

StorPortEtwLogError