StorPortAsyncNotificationDetected 函式 (storport.h)

記憶體迷你埠驅動程式會呼叫 StorPortAsyncNotificationDetected ,以通知 Storport 驅動程式記憶體裝置狀態變更事件。

通知會排入佇列作為工作專案,以便延遲處理DISPATCH_LEVEL或較低的 IRQL。

語法

ULONG StorPortAsyncNotificationDetected(
  [in] PVOID         HwDeviceExtension,
       PSTOR_ADDRESS Address,
       ULONGLONG     Flags
);

參數

[in] HwDeviceExtension

硬體裝置擴充功能的指標。 這是埠驅動程式代表迷你埠驅動程式配置和初始化的每個 HBA 儲存區域。 迷你埠驅動程式通常會將此擴充功能中儲存 HBA 特定資訊,例如 HBA 的狀態和 HBA 的對應存取範圍。 此區域可在迷你埠驅動程式呼叫 StorPortInitialize 之後立即提供給迷你埠驅動程式。 埠驅動程式會在移除裝置時釋放此記憶體。

Address

狀態變更事件之存放設備的位址。

Flags

要向 Storport 指出的狀態通知。

Flags 參數包含狀態通知的位 OR 組合。 所有狀態值都可以使用單 一RAID_ASYNC_NOTIFY_SUPPORTED_FLAGS 值來設定。

意義
RAID_ASYNC_NOTIFY_FLAG_MEDIA_STATUS
通知 Storport 發生媒體變更。
RAID_ASYNC_NOTIFY_FLAG_DEVICE_STATUS
通知 Storport 記憶體裝置的功能狀態已變更。
RAID_ASYNC_NOTIFY_FLAG_DEVICE_OPERATION
通知 Storport 記憶體裝置的操作角色已變更。

傳回值

指出通知結果的狀態值。 這可以是下列其中一個值:

傳回碼 Description
STOR_STATUS_SUCCESS
狀態變更通知已排程進行處理。
STOR_STATUS_INVALID_PARAMETER
地址類型無效。

-或-

HwDeviceExtensionNULL

-或-

旗標 包含未定義的值。

STOR_STATUS_INVALID_DEVICE_REQUEST
位址找不到儲存裝置單位。

-或-

儲存裝置不支援異步通知。

STOR_STATUS_BUSY
先前的通知正在進行中,因此無法排程此通知。

備註

迷你埠可以偵測 其 HwStorInterrupt 例程中的狀態事件,並呼叫 StorPortAsyncNotificationDetected 來佇列,並在稍後在較低的 IRQL 處處理狀態變更通知。

由 Storport 處理時,狀態事件通知會轉送到記憶體類別驅動程式,以起始任何必要的系統回應動作。

如果 Flags 參數為 0,Storport 會向記憶體類別驅動程式指出其通知中的所有狀態值。

規格需求

需求
最低支援的用戶端 Windows 8
目標平台 Universal
標頭 storport.h (包含 Storport.h)
IRQL 任何