Funzione StorPortEtwLogByteStream (storport.h)

StorPortEtwLogByteStream registra un evento Event Tracing for Windows (ETW) con un parametro di flusso di utilizzo generico al canale specificato.

Sintassi

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
);

Parametri

[in] HwDeviceExtension

Puntatore all'estensione del dispositivo del miniport.

[in, optional] Address

Indirizzo dell'unità di archiviazione. Questo parametro è NULL per i dispositivi adattatori.

[in] EventChannel

Valore STORPORT_ETW_EVENT_CHANNEL che identifica il canale ETW in cui registrare l'evento.

[in] EventId

ID evento definito da miniport che identifica in modo univoco l'evento.

[in] EventDescription

Stringa breve che descrive l'evento. EventDescription è obbligatorio e deve essere <= STORPORT_ETW_MAX_DESCRIPTION_LENGTH caratteri, non incluso il terminatore NULL.

[in] EventKeywords

Flag di parole chiave per la categorizzazione degli eventi. Impostare su 0 se non è desiderata alcuna parola chiave. Le parole chiave sono una combinazione OR bit per bit del seguente.

Valore Significato
STORPORT_ETW_EVENT_KEYWORD_IO L'evento è correlato alle operazioni di I/O del dispositivo.
STORPORT_ETW_EVENT_KEYWORD_PERFORMANCE L'evento è correlato alle prestazioni.
STORPORT_ETW_EVENT_KEYWORD_POWER L'evento è correlato alla potenza del dispositivo.
STORPORT_ETW_EVENT_KEYWORD_ENUMERATION L'evento è correlato all'enumerazione del dispositivo.

[in] EventLevel

Livello di evento. Questo valore può indicare l'importanza o la gravità dell'evento. Si tratta di uno dei valori seguenti.

Valore Significato
StorportEtwLevelLogAlways Registrare l'evento in modo incondizionato. L'evento viene registrato indipendentemente da qualsiasi set di filtri.
StorportEtwLevelCritical Evento a livello critico.
StorportEtwLevelError Evento a livello di errore.
StorportEtwLevelWarning Evento a livello di avviso.
StorportEtwLevelInformational Evento informativo.
StorportEtwLevelVerbose Informazioni dettagliate sugli eventi fornite.

[in] EventOpcode

Natura operativa dell'evento. Si tratta di uno dei valori seguenti.

Valore Significato
StorportEtwEventOpcodeInfo Evento informativo generale.
StorportEtwEventOpcodeStart Il dispositivo o l'unità è stato avviato.
StorportetweventOpcodestop Dispositivo o unità di arresto. L'evento corrisponde all'ultimo evento iniziale non abbinato.
StorportEtwEventOpcodeDC_Start Evento iniziale per la raccolta dati. Questi sono tipi di evento rundown.
StorportEtwEventOpcodeDC_Stop Evento di arresto della raccolta dati. Questi sono tipi di evento rundown.
StorportEtwEventOpcodeExtension Evento di estensione.
StorportEtwEventOpcodeReply Evento di risposta.
StorportEtwEventOpcodeResume Il dispositivo o l'unità è stato ripreso dopo la sospensione.
StorportEtwEventOpcodeSuspend Il dispositivo o l'unità è sospeso in attesa del completamento di un'altra operazione.
StorportEtwEventOpcodeReceive Il trasferimento dell'attività viene ricevuto da un altro componente.

[in] DataLength

Lunghezza, in byte, del flusso di byte a cui i dati puntano, dove 1 <= DataLength<= STORPORT_ETW_MAX_BYTE_STREAM_LENGTH.

[in] Data

Puntatore al flusso di byte ETW personalizzato del miniport.

Valore restituito

StorPortEtwLogByteStream restituisce uno dei codici di stato seguenti:

Codice restituito Descrizione
STOR_STATUS_SUCCESS L'evento è stato registrato correttamente nel canale ETW specificato.
STOR_STATUS_INVALID_PARAMETER Un parametro non è valido. Ad esempio, HwDeviceExtension, EventDescription o Data sono NULL, DataLength è maggiore della lunghezza massima del nome, EventChannel è un valore non valido.
STOR_STATUS_UNSUCCESSFUL Restituito per altri motivi interni.

Commenti

Un miniport può chiamare StorPortEtwLogByteStream per registrare un evento ETW in un canale specifico con un parametro di flusso di utilizzo generico.

StorPortEtwLogByteStream è utile quando un miniport deve registrare il contesto oltre a quello consentito in StorPortEtwEvent2, StorPortEtwEvent4 o StorPortEtwEvent8. Ad esempio, un miniport può registrare la struttura dei dati interna come flusso di byte che può quindi essere usato per scopi di diagnostica quando vengono segnalati problemi.

Requisiti

Requisito Valore
Server minimo supportato Windows Server 2022
Intestazione Storport.h

Vedi anche

StorPortEtwEvent2

StorPortEtwEvent4

StorPortEtwEvent8

StorPortEtwLogError