Share via


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.

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 die funktionale status 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 status Wert, der das Ergebnis der Benachrichtigung angibt. Dies kann einer der folgenden Werte sein:

Rückgabecode Beschreibung
STOR_STATUS_SUCCESS
Die Statusänderungsbenachrichtigung ist 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 kann nicht unter der Adresse gefunden werden.

Oder

Das Speichergerät unterstützt keine asynchronen Benachrichtigungen.

STOR_STATUS_BUSY
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