Condividi tramite


Funzione StorPortEtwLogByteStream (storport.h)

StorPortEtwLogByteStream registra un evento ETW (Event Tracing for Windows) con un parametro flusso di byte per 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 del dispositivo 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 dal 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 carattere di terminazione NULL.

[in] EventKeywords

Flag di parole chiave per la categorizzazione degli eventi. Impostare su 0 se non si desidera alcuna parola chiave. Le parole chiave sono una combinazione OR bit per bit delle opzioni seguenti.

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 all'alimentazione 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 di livello critico.
StorportEtwLevelError Evento a livello di errore.
StorportEtwLevelWarning Evento a livello di avviso.
StorportEtwLevelInformational Evento informativo.
StorportEtwLevelVerbose Informazioni dettagliate sull'evento 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à è stata avviata.
StorportetweventOpcodestop Il dispositivo o l'unità è stato arrestato. L'evento corrisponde all'ultimo evento di avvio non abbinato.
StorportEtwEventOpcodeDC_Start Evento di avvio della raccolta dati. Si tratta di tipi di evento rundown.
StorportEtwEventOpcodeDC_Stop Evento di arresto della raccolta dati. Si tratta di 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 di 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 data punta, 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, EventDescriptiono Data sono NULL, DataLength è maggiore della lunghezza massima del nome, EventChannel è un valore non valido.
STOR_STATUS_UNSUCCESSFUL Restituito per altri motivi interni.

Osservazioni

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

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

Fabbisogno

Requisito Valore
server minimo supportato Windows Server 2022
intestazione storport.h

Vedere anche

StorPortEtwEvent2

StorPortEtwEvent4

StorPortEtwEvent8

StorPortEtwLogError