StorPortStateChangeDetected 函式 (storport.h)
通知 Storport 埠驅動程式邏輯單元號碼 (LUN)、主機總線適配卡 (HBA) 埠或目標裝置的狀態變更。
語法
ULONG StorPortStateChangeDetected(
[in] PVOID HwDeviceExtension,
[in] ULONG ChangedEntity,
[in] PSTOR_ADDRESS Address,
[in] ULONG Attributes,
[in, optional] PHW_STATE_CHANGE HwStateChange,
[in, optional] PVOID HwStateChangeContext
);
參數
[in] HwDeviceExtension
硬體裝置延伸模組的指標。 這是埠驅動程式代表迷你埠驅動程式配置和初始化的每個 HBA 儲存區域。 迷你埠驅動程式通常會在此延伸模組中儲存 HBA 特定資訊,例如 HBA 的狀態和 HBA 的對應存取範圍。 迷你埠驅動程式呼叫 StorPortInitialize之後,即可立即取得此區域。 埠驅動程式會在移除裝置時釋放此記憶體。
[in] ChangedEntity
指出狀態已變更之實體的旗標。 這是這些值的位 OR 組合:
價值 | 意義 |
---|---|
|
LUN 狀態已變更。 |
|
目標狀態已變更。 |
|
總線或埠狀態已變更。 |
[in] Address
狀態變更之實體的位址。 位址 值在叫用 HwStateChange 回呼之前,無法變更。 如果 位址 配置在記憶體中,則回呼例程應該釋放記憶體。
[in] Attributes
與實體相關聯的屬性。 這些是下列專案的位 OR 組合:
價值 | 意義 |
---|---|
|
LUN 會保留給虛擬機使用。 |
[in, optional] HwStateChange
迷你埠所提供回呼例程的指標。 如果存在,當驅動程式完成處理此狀態變更通知時,Storport 驅動程式會呼叫此例程。
[in, optional] HwStateChangeContext
呼叫 HwStateChange 中的例程設定時,會包含迷你埠提供的內容值。
傳回值
指出通知結果的狀態值。 這可以是下列其中一個值:
傳回碼 | 描述 |
---|---|
|
狀態變更通知已排程進行處理。 |
|
地址類型或實體類型無效。 |
|
先前的通知正在進行中,因此無法排程此通知。 |
言論
成功呼叫 storPortStateChangeDetected 會導致變更實體的重新列舉。
隨時只能有一個狀態變更要求作用中。 如果迷你埠需要進行另一個 StorPortStateChangeDetected 呼叫,它應該提供 HwStateChange 回呼,並在回呼 HwStateChange 之後,再呼叫 StorPortStateChangeDetected。 如果迷你埠想要同時指出多個狀態變更,迷你埠可以呼叫 StorPortStateChangeDetected 一次,且變更實體會設定於 ChangedEntity,其中包含所有目前狀態變更。
如果在 ChangedEntity中指定多個旗標,則具有較大值的旗標優先順序會高於較小的旗標。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 適用於 Windows 8 和更新版本的 Windows。 |
目標平臺 | 普遍 |
標頭 | storport.h (包括 Storport.h) |
IRQL | 任何 |