Storport 驅動程式迷你埠例程
與 Storport 驅動程式搭配運作的迷你埠驅動程式必須包含本節所列例程描述的實作,而且必須在迷你埠驅動程式初始化階段期間透過 HW_INITIALIZATION_DATA 結構公開它們。
Storport 迷你埠驅動程式例程在大部分方面都相當於其 SCSI 埠對應專案。 不過,SCSI 埠驅動程序的設計與 Storport 驅動程式的設計之間有重要差異,而迷你埠例程必須容納這些差異。
例如:
- Storport 迷你埠驅動程序必須一律準備好在 HwStorStartIo 例程完成之後接收另一個 I/O 要求。
- SCSI 迷你埠驅動程序沒有此需求。 它不會收到新的 I/O 要求,直到它透過呼叫 StorPortNotification 明確向埠驅動程式發出訊號時,才能處理另一個要求。
如果 Storport 迷你埠驅動程式無法立即處理提交的要求,則會有一組佇列管理功能,可讓其處理多載。 這些佇列管理功能不適用於 SCSI 迷你埠驅動程式。 如同 SCSI 迷你埠驅動程式,Storport 迷你埠驅動程式會使用 SRB_STATUS_BUSY來完成要求。 但不同於 SCSI 埠版本,它也可以使用 StorPortDeviceBusy 例程將裝置佇列標示為忙碌中。 類似的函式可讓 Storport 迷你埠驅動程式以全配接器為基礎暫停和繼續處理。
如需 Storport 驅動程式所提供支援例程的詳細資訊,請參閱 Storport 驅動程序支援例程。
如需 Storport 驅動程式的詳細資訊,請參閱 記憶體埠驅動程式。
Storport 迷你埠驅動程式例程清單
常式 | 描述 |
---|---|
HW_MESSAGE_SIGNALED_INTERRUPT_ROUTINE | 處理已發出訊號的中斷訊息(MSI)。 |
HW_ADAPTER_CONTROL | 執行同步作業來控制適配卡的狀態或行為,例如停止或重新啟動 HBA 以進行電源管理。 |
HW_BUILDIO | 先處理 SRB,以未同步存取共用系統數據結構,再將它傳遞至 HwStorStartIo。 |
HW_DPC_ROUTINE | 使用延後過程調用 (DPC) 機制在 DISPATCH IRQL 執行時延後執行的例程。 |
HW_FIND_ADAPTER | 使用提供的組態來判斷是否支援特定 HBA,如果是,則傳回該配接器的組態資訊。 |
HW_INITIALIZE | 在系統重新啟動或電源失敗之後,初始化迷你埠驅動程式。 |
HW_INTERRUPT | Storport 驅動程式會在 HBA 產生中斷要求之後呼叫 HwStorInterrupt 例程。 |
HW_PASSIVE_INITIALIZE_ROUTINE | 當目前的 IRQL 位於 PASSIVE_LEVEL 時,在 HwStorInitialize 例程之後呼叫。 |
HW_RESET_BUS | 埠驅動程式呼叫以清除錯誤狀況。 |
HW_STARTIO | Storport 驅動程式 會針對每個傳入 I/O 要求呼叫 HwStorStartIo 例程一次。 |
HW_TIMER | 在以 RequestTimerCall NotificationType 值呼叫 StorPortNotification 的迷你埠驅動程式所指定的間隔之後呼叫。 |
HW_TRACING_ENABLED | 讓 Storport 通知已啟用事件追蹤的迷你埠。 |
HW_UNIT_CONTROL | 呼叫 以執行同步作業來控制儲存單位裝置的狀態。 迷你埠驅動程式會收到啟動單元或處理裝置電源狀態轉換的通知。 |
HW_WORKITEM | 迷你埠提供的回呼函式,用於處理 Storport 工作專案要求。 |