Partager via


Fonction ScsiPortWmiFireLogicalUnitEvent (scsiwmi.h)

La routine ScsiPortWmiFireLogicalUnitEvent envoie un événement associé à une unité logique au pilote de port pour la remise aux consommateurs de données WMI qui ont demandé une notification de l’événement.

Note Les modèles de pilote de port SCSI et de pilote miniport SCSI peuvent être modifiés ou indisponibles à l’avenir. Au lieu de cela, nous vous recommandons d’utiliser les modèles de pilote Storport et de pilote miniport Storport .
 

Syntaxe

void ScsiPortWmiFireLogicalUnitEvent(
  [in] PVOID  HwDeviceExtension,
  [in] UCHAR  PathId,
  [in] UCHAR  TargetId,
  [in] UCHAR  Lun,
  [in] LPGUID Guid,
  [in] ULONG  InstanceIndex,
  [in] ULONG  EventDataSize,
  [in] PVOID  EventData
);

Paramètres

[in] HwDeviceExtension

Pointeur vers l’extension de périphérique matériel. Il s’agit d’une zone de stockage par HBA que le pilote de port alloue et initialise pour le compte du pilote miniport. Les pilotes Miniport stockent généralement des informations spécifiques à HBA dans cette extension, telles que l’état de l’adaptateur HBA et les plages d’accès mappées du HBA. Cette zone est disponible pour le pilote miniport dans le membre DeviceExtension-HwDeviceExtension> de l’objet d’appareil du HBA immédiatement après que le pilote miniport a appelé ScsiPortInitialize. Le pilote de port libère cette mémoire lorsqu’il supprime l’appareil.

[in] PathId

Identifie le bus SCSI ; SP_UNTAGGED indique tous les bus contrôlés par le HBA.

[in] TargetId

Identifie le contrôleur ou l’appareil cible sur le ou les bus donnés ; SP_UNTAGGED indique toutes les cibles sur le bus.

[in] Lun

Identifie l’unité logique pour le contrôleur ou l’appareil cible donné ; SP_UNTAGGED indique toutes les unités logiques pour le ou les contrôleurs cibles donnés sur le ou les bus donnés.

[in] Guid

Pointeur vers le GUID qui représente le bloc d’événements.

[in] InstanceIndex

Si le bloc d’événements a plusieurs instances, spécifie l’index du instance.

[in] EventDataSize

Spécifie le nombre d’octets de données dans EventData, sans inclure les octets de pavé au début de la mémoire tampon des données d’événement. Si aucune donnée n’est générée pour un événement, EventDataSize doit être défini sur zéro.

[in] EventData

Pointeur vers une mémoire tampon allouée au pilote miniport contenant les données générées par le pilote miniport pour l’événement. La mémoire tampon doit être au moins la taille des données d’événement, plus 0x40 octets de pavé au début de la mémoire tampon.

Valeur de retour

None

Remarques

Un pilote miniport appelle ScsiPortWmiFireLogicalUnitEvent pour envoyer un événement associé à un adaptateur ou à une unité logique à tous les consommateurs de données qui ont demandé une notification de l’événement.

Le pilote miniport envoie un événement uniquement s’il a été précédemment activé par la routine HwScsiWmiFunctionControl du pilote miniport.

Le pilote doit écrire les données d’événement dans la mémoire tampon pointée par EventData au 0x40 de décalage. Les premiers octets 0x40 sont utilisés par SCSI WMI. Si aucune donnée n’est renvoyée avec l’événement, EventData doit être 0x40 octets.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête scsiwmi.h (inclure Miniport.h, Scsi.h)

Voir aussi

HwScsiWmiFunctionControl