Partager via


Fonction StorPortEtwLogByteStream (storport.h)

StorPortEtwLogByteStream consigne un événement de suivi d’événements pour Windows (ETW) avec un paramètre de flux d’octets à usage général dans le canal spécifié.

Syntaxe

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

Paramètres

[in] HwDeviceExtension

Pointeur vers l’extension d’appareil du miniport.

[in, optional] Address

Adresse du périphérique d’unité de stockage. Ce paramètre a la valeur NULL pour les périphériques adaptateurs.

[in] EventChannel

Valeur STORPORT_ETW_EVENT_CHANNEL qui identifie le canal ETW dans lequel journaliser l’événement.

[in] EventId

ID d’événement défini par miniport qui identifie l’événement de manière unique.

[in] EventDescription

Chaîne courte décrivant l’événement. EventDescription est obligatoire et doit être <= STORPORT_ETW_MAX_DESCRIPTION_LENGTH caractères, à l’exception de la terminaison NULL.

[in] EventKeywords

Indicateurs de mots clés pour la catégorisation d’événements. Définissez sur 0 si aucune mot clé n’est souhaitée. Les mots clés sont une combinaison OR au niveau du bit des éléments suivants.

Valeur Signification
STORPORT_ETW_EVENT_KEYWORD_IO L’événement est lié aux opérations d’E/S de l’appareil.
STORPORT_ETW_EVENT_KEYWORD_PERFORMANCE L’événement est lié aux performances.
STORPORT_ETW_EVENT_KEYWORD_POWER L’événement est lié à l’alimentation de l’appareil.
STORPORT_ETW_EVENT_KEYWORD_ENUMERATION L’événement est lié à l’énumération d’appareil.

[in] EventLevel

Niveau de l’événement. Cette valeur peut indiquer l’importance ou la gravité de l’événement. Il s’agit de l’une des valeurs suivantes.

Valeur Signification
StorportEtwLevelLogAlways Consignez l’événement de manière inconditionnelle. L’événement est journalisé indépendamment des filtres définis.
StorportEtwLevelCritical Événement de niveau critique.
StorportEtwLevelError Événement de niveau d’erreur.
StorportEtwLevelWarning Événement de niveau d’avertissement.
StorportEtwLevelInformational Événement d’information.
StorportEtwLevelVerbose Informations détaillées sur les événements fournies.

[in] EventOpcode

Nature opérationnelle de l’événement. Il s’agit de l’une des valeurs suivantes.

Valeur Signification
StorportEtwEventOpcodeInfo Événement d’information générale.
StorportEtwEventOpcodeStart L’appareil ou l’unité était en cours de démarrage.
StorportEtwEventOpcodeStop L’appareil ou l’unité s’arrêtait. L’événement correspond au dernier événement de démarrage non apparié.
StorportEtwEventOpcodeDC_Start Événement de démarrage de la collecte de données. Il s’agit de types d’événements rundown.
StorportEtwEventOpcodeDC_Stop Événement d’arrêt de la collecte de données. Il s’agit de types d’événements rundown.
StorportEtwEventOpcodeExtension Evénement d'extension.
StorportEtwEventOpcodeReply Événement de réponse.
StorportEtwEventOpcodeResume L’appareil ou l’unité reprenait après l’interruption.
StorportEtwEventOpcodeSuspend L’appareil ou l’unité est suspendu en attendant la fin d’une autre opération.
StorportEtwEventOpcodeReceive Le transfert d’activité est reçu d’un autre composant.

[in] DataLength

Longueur, en octets, du flux d’octets vers lequel les données pointent, où 1 <= DataLength<= STORPORT_ETW_MAX_BYTE_STREAM_LENGTH.

[in] Data

Pointeur vers le flux d’octets ETW personnalisé du miniport.

Valeur retournée

StorPortEtwLogByteStream retourne l’un des codes status suivants :

Code de retour Description
STOR_STATUS_SUCCESS L’événement a été correctement journalisé dans le canal ETW spécifié.
STOR_STATUS_INVALID_PARAMETER Un paramètre n'est pas valide. Par exemple, HwDeviceExtension, EventDescription ou Data sont NULL, DataLength est supérieur à la longueur maximale du nom, EventChannel n’est pas une valeur non valide.
STOR_STATUS_UNSUCCESSFUL Retourné pour d’autres raisons internes.

Remarques

Un miniport peut appeler StorPortEtwLogByteStream pour enregistrer un événement ETW sur un canal spécifique avec un paramètre de flux d’octets à usage général.

StorPortEtwLogByteStream est utile lorsqu’un miniport doit journaliser le contexte au-delà de celui autorisé dans StorPortEtwEvent2, StorPortEtwEvent4 ou StorPortEtwEvent8. Par instance, un miniport peut journaliser sa structure de données interne sous la forme d’un flux d’octets qui peut ensuite être utilisé à des fins de diagnostic lorsque des problèmes sont signalés.

Configuration requise

Condition requise Valeur
Serveur minimal pris en charge Windows Server 2022
En-tête storport.h

Voir aussi

StorPortEtwEvent2

StorPortEtwEvent4

StorPortEtwEvent8

StorPortEtwLogError