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