StorPortAsyncNotificationDetected-Funktion (storport.h)
Ein Speicherminiporttreiber ruft StorPortAsyncNotificationDetected auf, um den Storport-Treiber über ein Speichergerät status Änderungsereignis zu benachrichtigen.
Die Benachrichtigung wird als Arbeitselement 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. Miniport-Treiber speichern in dieser Erweiterung in der Regel HBA-spezifische Informationen, z. B. den Status des HBA und die zugeordneten Zugriffsbereiche für den HBA. Dieser Bereich steht dem Miniporttreiber unmittelbar nach dem Aufrufen von StorPortInitialize durch den Miniporttreiber zur Verfügung. Der Porttreiber gibt diesen Arbeitsspeicher frei, wenn er das Gerät entfernt.
Address
Die Adresse des Speichergeräts mit einem status Änderungsereignis.
Flags
Die status Benachrichtigungen, die storport angezeigt werden sollen.
Der Flags-Parameter enthält eine bitweise OR-Kombination aus status Benachrichtigungen. Alle status Werte können mit dem einzelnen RAID_ASYNC_NOTIFY_SUPPORTED_FLAGS-Wert festgelegt werden.
Rückgabewert
Ein status Wert, der das Ergebnis der Benachrichtigung angibt. Dies kann einer der folgenden Werte sein:
Rückgabecode | Beschreibung |
---|---|
|
Die Statusänderungsbenachrichtigung ist 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 kann nicht unter der Adresse gefunden werden.
Oder Das Speichergerät unterstützt keine asynchronen Benachrichtigungen. |
|
Eine vorherige Benachrichtigung ist in Bearbeitung, und diese kann nicht geplant werden. |
Hinweise
Ein Miniport kann status Ereignisse in seiner HwStorInterrupt-Routine erkennen und StorPortAsyncNotificationDetected aufrufen, um die status Änderungsbenachrichtigung später bei einer niedrigeren IRQL in die Warteschlange zu stellen und zu verarbeiten.
Bei der Verarbeitung durch Storport wird die status-Ereignisbenachrichtigung an den Speicherklassentreiber weitergeleitet, um alle erforderlichen Systemantwortaktionen zu initiieren.
Wenn der Flags-Parameter 0 ist, gibt Storport alle status Werte in seiner Benachrichtigung an den Speicherklassentreiber an.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8 |
Zielplattform | Universell |
Header | storport.h (Storport.h einschließen) |
IRQL | Any |