StorPortNotification 函式 (storport.h)
迷你埠驅動程式會使用 StorPortNotification 例程來通知 Storport 驅動程式特定事件和條件。
StorPortNotification 會根據指定的通知類型接受可變數目的參數。
語法
STORPORT_API VOID StorPortNotification(
SCSI_NOTIFICATION_TYPE NotificationType,
PVOID HwDeviceExtension,
...
);
參數
NotificationType
指定通知類型,可以是下列其中一個值。
通知類型 | 描述 |
---|---|
BufferOverrunDetected | 此通知類型沒有自變數,並讓迷你埠驅動程序有機會在偵測到損毀時檢查系統。 |
BusChangeDetected |
表示目標裝置可能已從動態總線新增或移除。 若要使用此通知類型,請包含選擇性的 PathId 參數,以指出偵測到變更的 SCSI 埠或總線。
|
IoTargetRequestServiceTime |
表示 Storport 處理指定要求所需的時間量。
工期 [in] Srb 在 100 奈秒單位中所需的服務時間持續時間。 Srb [in] 要設定服務時間的要求區塊。 |
LinkDown | 表示連結已關閉,而且可能會關閉一段時間。 StorPort 會暫停適配卡以回應此通知。 |
銜接 | 表示已還原連結。 StorPort 會重新啟動配接器,使其可以繼續作業以回應此通知。 除非鏈接關閉,否則迷你埠驅動程式不應該傳送此通知。 |
QueryTickCount |
此通知類型會傳回保留來自 KeQueryTickCount值的LARGE_INTEGER。 TickCount 中傳回的值是自系統開機後發生的間隔定時器中斷計數
|
RequestComplete |
表示指定的 SRB 已完成。 傳送此通知之後,埠驅動程式會擁有要求。 Srb 參數代表已完成 SCSI 要求區塊的指標。 迷你埠驅動程式不得嘗試在 Srb 中存取要求,而且不得將 Srb 傳遞至另一個例程。
|
RequestTimerCall |
指出迷你埠驅動程式需要埠驅動程式在要求的微秒數中呼叫迷你埠驅動程式的 HwStorTimer 例程。
HwStorTimer [in] 在 MiniportTimerValue 中指定的時間間隔之後呼叫的定時器例程指標。 MiniportTimerValue [in] 指出呼叫 HwStorTimer 所指向定時器例程的間隔。 這是以微秒為單位指定的正值。 值為 0 將會取消定時器。 系統定時器解析度大約為 10 毫秒。 |
ResetDetected | 表示 HBA 已偵測到總線上的重設。 傳送此通知之後,迷你埠驅動程式仍須負責完成任何作用中要求。 埠驅動程式會管理所有必要的總線重設延遲。 |
WMIEvent |
指出迷你埠驅動程式偵測到已註冊一或多個 WMI 數據取用者的事件。 請注意,WmiEvent 參數限制為最多 128 個字節。 如果 WmiEvent 大於 128 個字節,則會忽略它。
WMIEvent [in] 事件結構的指標,其中包含迷你埠驅動程序偵測到之 WMI 事件的相關信息。 PathId [in] 表示要求的 SCSI 埠或總線。 將此參數設定為適配卡裝置0xff。 否則,請設定為有效的路徑識別碼。 TargetId [in, optional] 指出總線上的目標控制器或裝置。 當事件是配接器時,不會使用此參數。 Lun [in, 選擇性] 指出裝置的邏輯單元編號。 當事件是配接器時,不會使用此參數。 |
WMIReregister |
表示迷你埠驅動程式已變更數據項或先前透過呼叫 ioWMIRegistrationControl 註冊之指定數據區塊的實例數目。
PathId [in] 表示要求的 SCSI 埠或總線。 將此參數設定為適配卡裝置0xff。 否則,請設定為有效的路徑識別碼。 TargetId [in, optional] 指出總線上的目標控制器或裝置。 註冊為配接器時,不會使用此參數。 Lun [in, 選擇性] 指出裝置的邏輯單元編號。 註冊為配接器時,不會使用此參數。 |
HwDeviceExtension
硬體裝置延伸模組的指標。 這是埠驅動程式代表迷你埠驅動程式配置和初始化的每個 HBA 儲存區域。 迷你埠驅動程式通常會在此延伸模組中儲存 HBA 特定資訊,例如 HBA 的狀態和 HBA 的對應存取範圍。 迷你埠驅動程式呼叫 StorPortInitialize之後,即可立即取得此區域。 埠驅動程式會在移除裝置時釋放此記憶體。
...
其他參數。
傳回值
沒有。
言論
StorPortNotification 是一種多型函式,可處理許多不同類型的要求,因此難以以涵蓋所有可能用途的方式標註。 因為 StorPortNotification 傳回 VOID,因此掃描引擎應該假設已依照要求取得 LockHandle。
要求
要求 | 價值 |
---|---|
目標平臺 | 普遍 |
標頭 | storport.h (包括 Storport.h) |
連結庫 | Storport.lib |
DDI 合規性規則 | StorPortNotification2(storport)、StorPortStatusPending、StorPortTimer(storport) |