Partilhar via


Função StorPortEtwLogByteStream (storport.h)

StorPortEtwLogByteStream registra um evento ETW (Rastreamento de Eventos para Windows) com um parâmetro de fluxo de bytes de finalidade 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 do dispositivo do miniporto.

[in, optional] Address

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

[in] EventChannel

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

[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 sendo iniciado.
StorportEtwEventOpcodeStop O dispositivo ou a unidade estava parando. O evento corresponde ao último evento de início não pago.
StorportEtwEventOpcodeDC_Start Um evento inicial de coleta de dados. Estes são tipos de evento rundown.
StorportEtwEventOpcodeDC_Stop Um evento de interrupção da coleta de dados. Estes são tipos de evento 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 da atividade é recebida de outro componente.

[in] DataLength

Comprimento, em bytes, do fluxo de bytes que data aponta para, em que 1 <= DataLength<= STORPORT_ETW_MAX_BYTE_STREAM_LENGTH.

[in] Data

Ponteiro para o fluxo de bytes ETW personalizado do miniporto.

Valor de retorno

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, EventDescriptionou Data são NULL, DataLength é maior que o tamanho máximo do nome, EventChannel é um valor inválido.
STOR_STATUS_UNSUCCESSFUL Retornado por outros motivos internos.

Observações

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

StorPortEtwLogByteStream é útil quando um miniporto precisa registrar o contexto além do permitido em StorPortEtwEvent2, StorPortEtwEvent4ou 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 com suporte mínimo Windows Server 2022
cabeçalho storport.h

Consulte também

StorPortEtwEvent2

StorPortEtwEvent4

StorPortEtwEvent8

StorPortEtwLogError