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 |