Freigeben über


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.

Hinweis Der SCSI-Porttreiber und die SCSI-Miniporttreibermodelle können in Zukunft geändert oder nicht mehr verfügbar sein. Stattdessen empfehlen wir die Verwendung des Storport-Treibers und Storport Miniport Treibermodelle.
 

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)

Siehe auch

HwScsiWmiFunctionControl