Freigeben über


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.

Wert Bedeutung
RAID_ASYNC_NOTIFY_FLAG_MEDIA_STATUS
Benachrichtigen Sie Storport, dass eine Medienänderung aufgetreten ist.
RAID_ASYNC_NOTIFY_FLAG_DEVICE_STATUS
Benachrichtigen Sie Storport, dass sich der Funktionsstatus des Speichergeräts geändert hat.
RAID_ASYNC_NOTIFY_FLAG_DEVICE_OPERATION
Benachrichtigen Sie Storport, dass sich eine operative Rolle des Speichergeräts geändert hat.

Rückgabewert

Ein Statuswert, der das Ergebnis der Benachrichtigung angibt. Dies kann einer der folgenden Werte sein:

Rückgabecode Beschreibung
STOR_STATUS_SUCCESS
Die Statusänderungsbenachrichtigung wird für die Verarbeitung geplant.
STOR_STATUS_INVALID_PARAMETER
Der Adresstyp ist ungültig.

-oder-

HwDeviceExtension- ist NULL-.

-oder-

Flags enthält einen nicht definierten Wert.

STOR_STATUS_INVALID_DEVICE_REQUEST
Die Speichergeräteeinheit wurde unter Adressenicht gefunden.

-oder-

Das Speichergerät unterstützt keine asynchronen Benachrichtigungen.

STOR_STATUS_BUSY
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