StorPortAsyncNotificationDetected-Funktion (storport.h)
Ein Speicher-Miniporttreiber ruft StorPortAsyncNotificationDetected auf, um den Storport-Treiber über ein Änderungsereignis für speichergerätestatus zu benachrichtigen.
Die Benachrichtigung wird als Arbeitsaufgabe für die verzögerte Verarbeitung bei DISPATCH_LEVEL oder niedrigeren IRQL in die Warteschlange gestellt.
Syntax
ULONG StorPortAsyncNotificationDetected(
[in] PVOID HwDeviceExtension,
PSTOR_ADDRESS Address,
ULONGLONG Flags
);
Parameter
[in] HwDeviceExtension
Ein 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 für die HBA. Dieser Bereich steht dem Miniporttreiber unmittelbar nach dem Aufruf StorPortInitializezur Verfügung. Der Porttreiber gibt diesen Speicher frei, wenn es das Gerät entfernt.
Address
Die Adresse des Speichergeräts mit einem Statusänderungsereignis.
Flags
Die Statusbenachrichtigungen, die für Storport angegeben werden sollen.
Der Parameter "Flags" enthält eine bitweise OR-Kombination von Statusbenachrichtigungen. Alle Statuswerte können mit dem einzelnen RAID_ASYNC_NOTIFY_SUPPORTED_FLAGS Wert festgelegt werden.
Rückgabewert
Ein Statuswert, der das Ergebnis der Benachrichtigung angibt. Dies kann einer der folgenden Werte sein:
Rückgabecode | Beschreibung |
---|---|
|
Die Statusänderungsbenachrichtigung wird für die Verarbeitung geplant. |
|
Der Adresstyp ist ungültig.
-oder- HwDeviceExtension- ist NULL-. -oder- Flags enthält einen nicht definierten Wert. |
|
Die Speichergeräteeinheit wurde unter Adressenicht gefunden.
-oder- Das Speichergerät unterstützt keine asynchronen Benachrichtigungen. |
|
Eine vorherige Benachrichtigung wird verarbeitet, und diese kann nicht geplant werden. |
Bemerkungen
Ein Miniport kann Statusereignisse in seiner HwStorInterrupt Routine erkennen und StorPortAsyncNotificationDetected aufrufen, um die Statusänderungsbenachrichtigung später in einer niedrigeren IRQL in die Warteschlange zu stellen und zu verarbeiten.
Bei der Verarbeitung durch Storport wird die Statusereignisbenachrichtigung an den Speicherklassentreiber weitergeleitet, um alle erforderlichen Systemantwortaktionen zu initiieren.
Wenn der parameter Flags 0 ist, gibt Storport alle Statuswerte in der Benachrichtigung an den Speicherklassentreiber an.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 8 |
Zielplattform- | Universal |
Header- | storport.h (include Storport.h) |
IRQL- | Jegliche |