ScsiPortWmiFireLogicalUnitEvent-Funktion (scsiwmi.h)
Die ScsiPortWmiFireLogicalUnitEvent Routine sendet ein Ereignis, das einer logischen Einheit zugeordnet ist, an den Porttreiber für die Übermittlung an WMI-Datenkunden, die eine Benachrichtigung über das Ereignis angefordert haben.
Syntax
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
);
Parameter
[in] HwDeviceExtension
Zeiger auf die Hardwaregeräteerweiterung. Dies ist ein Speicherbereich pro HBA, den der Porttreiber im Namen des Miniporttreibers zuordnet und initialisiert. Miniporttreiber speichern in der Regel HBA-spezifische Informationen in dieser Erweiterung, z. B. den Zustand der HBA und die zugeordneten Zugriffsbereiche der HBA. Dieser Bereich steht dem Miniporttreiber im DeviceExtension->HwDeviceExtension Mitglied des Geräteobjekts der HBA unmittelbar nach dem Aufruf ScsiPortInitializezur Verfügung. Der Porttreiber gibt diesen Speicher frei, wenn es das Gerät entfernt.
[in] PathId
Identifiziert den SCSI-Bus; SP_UNTAGGED gibt alle vom HBA gesteuerten Busse an.
[in] TargetId
Identifiziert den Zielcontroller oder das Gerät auf dem angegebenen Bus(n); SP_UNTAGGED gibt alle Ziele auf dem Bus an.
[in] Lun
Identifiziert die logische Einheit für den angegebenen Zielcontroller oder das angegebene Gerät; SP_UNTAGGED gibt alle logischen Einheiten für die angegebenen Zielcontroller auf dem angegebenen Bus(n) an.
[in] Guid
Zeigen Sie auf die GUID, die den Ereignisblock darstellt.
[in] InstanceIndex
Wenn der Ereignisblock über mehrere Instanzen verfügt, gibt den Index der Instanz an.
[in] EventDataSize
Gibt die Anzahl der Bytes an, die bei EventData-enthalten sind, nicht einschließlich Padbytes am Anfang des Ereignisdatenpuffers. Wenn keine Daten für ein Ereignis generiert werden, sollte EventDataSize- auf Null festgelegt werden.
[in] EventData
Zeiger auf einen vom Miniporttreiber zugewiesenen Puffer, der Daten enthält, die vom Miniporttreiber für das Ereignis generiert wurden. Der Puffer muss mindestens die Größe der Ereignisdaten plus 0x40 Padbytes am Anfang des Puffers aufweisen.
Rückgabewert
Nichts
Bemerkungen
Ein Miniporttreiber ruft ScsiPortWmiFireLogicalUnitEvent auf, um ein Ereignis, das einem Adapter oder einer logischen Einheit zugeordnet ist, an alle Datenkunden zu senden, die eine Benachrichtigung über das Ereignis angefordert haben.
Der Miniporttreiber sendet ein Ereignis nur, wenn es zuvor von der HwScsiWmiFunctionControl-Routine des Miniporttreibers aktiviert wurde.
Der Treiber sollte Ereignisdaten in den Puffer schreiben, auf den EventData- beim Offset-0x40 verweist. Die ersten 0x40 Byte werden von SCSI WMI verwendet. Wenn keine Daten mit dem Ereignis zurückgegeben werden, sollte EventData- länge 0x40 Bytes sein.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | scsiwmi.h (include Miniport.h, Scsi.h) |