Storport 驅動程序支援例程

此頁面會將系統提供的 Storport 驅動程式提供給迷你埠的一些支援例程分類。 如需完整清單,請參閱 storport.h

如需 Storport 驅動程式迷你埠例程的清單,請參閱 Storport Miniport 驅動程式例程

直接記憶體存取支援例程

Storport 驅動程式提供下列直接記憶體存取 (DMA) 支援例程。

常式傳回的值 Description
StorPortBuildScatterGatherList 為指定的數據緩衝區建立散佈/收集清單。
StorPortGetScatterGatherList 擷取指定之 SCSI 要求區塊的相關聯散佈/收集清單, (SRB) 。
StorPortPutScatterGatherList 釋放與先前由 StorPortBuildScatterGatherList 例程呼叫所建立之散佈/收集清單相關聯的任何資源。

一般支援例程

Storport 提供下列一般支援例程。

常式傳回的值 Description
StorPortDebugPrint 如果附加調試程式,則會將偵錯字串列印至核心調試程式。
StorPortEtwEvent2 將 Windows 事件追蹤 (ETW) 事件發佈至記憶體追蹤通道。 迷你埠可以記錄兩個一般用途 ETW 參數。 ETW 參數會以兩個名稱/值組表示。
StorPortEtwEvent4 將 ETW 事件發佈至記憶體追蹤通道。 迷你埠可以記錄四個一般用途 ETW 參數。 ETW 參數會以四個名稱/值組表示。
StorPortEtwEvent8 將 ETW 事件發佈至記憶體追蹤通道。 迷你埠可以記錄八個一般用途 ETW 參數。 ETW 參數會以八個名稱/值組表示。
StorPortGetActivityIdSrb 擷取與要求區塊相關聯的 ETW 活動標識碼。
StorPortGetDeviceObjects 傳回與配接器裝置堆疊相關聯的裝置物件。 將會傳回的裝置對像是適配卡的功能和實體裝置物件,以及附加功能裝置物件的裝置物件。
StorPortGetSystemPortNumber 擷取記憶體適配卡的系統指派埠號碼。
StorPortInitializeSListHead 初始化 Storport 管理的 Singly 連結清單前端。
StorPortInterlockedFlushSList 從 Storport 管理的 Singly 連結清單中移除所有專案。 多處理器系統上已同步處理清單的存取權
StorPortInterlockedPopEntrySList 從 Storport 管理的 Singly 連結清單前端移除專案。 多處理器系統上會同步處理清單的存取權。
StorPortInterlockedPushEntrySList 在 Storport 管理的 Singly 連結清單前面插入專案。 多處理器系統上會同步處理清單的存取權。
StorPortInvokeAcpiMethod 執行儲存裝置的ACPI方法。
StorPortIsCurrentOsInstallationUpgrade 檢查 Windows 目前的安裝是否為舊版的升級。
StorPortIsDeviceOperationAllowed 允許迷你埠判斷是否允許特定裝置管理類別的作業。
StorPortLogError 通知埠驅動程式發生錯誤。
StorPortLogSystemEvent 讓迷你埠驅動程式能夠完整存取 Windows 核心事件設施的功能,讓迷你埠驅動程式能夠建立事件記錄檔專案,以針對記憶體問題進行疑難解答時真正有用。 它提供 StorPortLogError 的更佳替代方案。
StorPortQueryDepthSList 擷取 Storport 受控 Singly 連結清單中的項目數目。
StorPortQueryPerformanceCounter 查詢並傳回目前的系統性能計數器值。
StorPortQuerySystemTime 取得目前的系統時間。
StorPortRegistryRead 讀取指定裝置和值的登錄數據。
StorPortRegistryReadAdapterKey 讀取位於 HKLM/CurrentControlSet/Enum/<Instance path>/DeviceParameters/.... 登錄的硬體或裝置登錄配接器機碼。
StorPortRegistryWriteAdapterKey 寫入位於 HKLM/CurrentControlSet/Enum/<Instance path>/DeviceParameters/....
StorPortRegistryWrite 將指定緩衝區中包含的登錄數據從 ASCII 轉換為 Unicode,然後將數據寫入迷你埠驅動程式的每個 HBA 儲存區域。

I/O 要求處理支援例程

Storport 提供下列 I/O 要求處理支援例程。

常式傳回的值 Description
StorPortBusy 通知埠驅動程式適配卡目前忙碌中,處理未處理的要求。
StorPortCompleteRequest 完成所有未處理的要求,將 SRB 狀態值設定為 SrbStatus。
StorPortCompleteServiceIrp 當 Storport 虛擬迷你埠驅動程式需要完成其 HwStorProcessServiceRequest 回呼例程中所收到的要求時,由 Storport 虛擬迷你埠驅動程式呼叫。
StorPortDeviceBusy 通知埠驅動程式指定的邏輯單元目前忙碌中,正在處理未處理的要求。
StorPortDeviceReady 通知埠驅動程式指出指定的邏輯單元已準備好處理新的要求。
StorPortFreeWorker 釋放先前由 StorPortInitializeWorker 例程配置的 Storport 工作專案。
StorPortGetRequestInfo 擷取與 SCSI 要求區塊相關聯的 IO 要求資訊, (SRB) ,並在STOR_REQUEST_INFO結構中傳回它。
StorPortInitializeWorker 建立在系統背景工作線程中執行的新 Storport 工作專案。
StorPortQueueWorkItem 排程 Storport 工作專案,以在系統背景工作線程的內容中執行。
StorPortPause 在指定的時段內暫停配接器。
StorPortPauseDevice 在指定的時段內暫停特定的邏輯單元裝置。
StorPortReady 通知埠驅動程式適配卡不再忙碌。
StorPortResume 繼續暫停的配接器。
StorPortResumeDevice 繼續先前暫停的邏輯單元。

初始化支援例程

Storport 驅動程式提供下列初始化支援例程。

常式傳回的值 Description
StorPortEnablePassiveInitialization 可讓迷你埠的 HwStorPassiveInitializeRoutine 回呼例程在迷你埠初始化期間於PASSIVE_LEVEL執行。
StorPortGetActiveGroupCount 傳回系統中存在的處理器群組數目。
StorPortGetActiveNodeCount 傳回系統中存在的節點數目。
StorPortGetBusData 擷取初始化 HBA 所需的總線特定組態資訊。
StorPortGetCurrentProcessorNumber 從核心擷取目前的處理器編號。
StorPortGetGroupAffinity 在要求的群組中建構使用中處理器的遮罩。
StorPortGetHighestNodeNumber 傳回系統上的最大可能節點數目。
StorPortGetLogicalProcessorRelationship 傳回一或多個指定類型的關聯性資訊。 這些類型包括主機系統中的群組、實體套件和節點。 傳回的資訊包括由主機系統中邏輯處理器所組成的處理器親和性遮罩。 這些邏輯處理器會共用指定的關聯性類型。
StorPortGetLogicalUnit 傳回迷你埠驅動程式每個邏輯單元儲存區域的指標。
StorPortGetNodeAffinity 在要求的非統一記憶體存取 (中,建構 NUMA) 節點中作用中處理器的遮罩。
StorPortGetStartIoPerfParams Places STARTIO_PERFORMANCE_PARAMETERS結構中指定 I/O 要求的效能參數。
StorPortInitialize 初始化埠驅動程序參數和延伸模組數據。 StorPortInitilize 也會儲存從迷你埠驅動程式提供的配接器資訊。
StorPortInitializePerfOpts 使用PERF_CONFIGURATION_DATA結構,初始化迷你埠驅動程式和 Storport 驅動程式支援的效能優化。
StorPortSetAdapterBusType 用來根據配接器的目前組態來調整配接器的 BusType。 使用此例程設定 BusType 可讓您覆寫迷你埠 INF 中設定的全域屬性,而不需要重新安裝驅動程式。 這適用於 RAID 支援或支援具有不同總線類型的多個適配卡等案例。
StorPortSetBusDataByOffset 寫入總線特定的組態資訊。
StorPortSetDeviceQueueDepth 設定指定裝置之裝置佇列的最大深度。
StorPortSetPowerSettingNotificationGuids 可讓迷你埠接收電源設定通知。 迷你埠會註冊 GUID 陣列,以識別要接收電源變更通知的電源設定。
StorPortSetUnitAttributes 向 Storport 驅動程式註冊儲存單位裝置的電源屬性。

中斷支援例程

Storport 驅動程式提供下列中斷支援例程。

常式傳回的值 Description
StorPortGetMSIInfo 擷取已發出訊號的中斷訊息, (MSI) 指定訊息的資訊。
StorPortSynchronizeAccess 提供迷你埠驅動程式裝置擴充功能的同步存取。
StorPortInitializeDpc 初始化 StorPort 延遲過程調用 (DPC.)
StorPortIssueDpc 發出 Storport DPC。
StorPortStallExecution 停止迷你埠驅動程式。

鎖定支援例程

Storport 驅動程式提供下列鎖定支援例程。

常式傳回的值 Description
StorPortAcquireMSISpinLock 取得已發出訊號的中斷 (MSI) 與指定訊息相關聯的微調鎖定。
StorPortAcquireSpinLock 取得指定的微調鎖定。
StorPortReleaseMSISpinLock 釋放先前為指定訊息取得的 MSI 微調鎖定。
StorPortReleaseSpinLock 釋放 StorPortAcquireSpinLock 所取得的微調鎖定。

記憶體管理支援例程

Storport 驅動程式提供下列記憶體管理支援例程。

常式傳回的值 Description
StorPortAllocateContiguousMemorySpecifyCacheNode 配置實體連續非快取、非分頁記憶體的範圍。
StorPortAllocateMdl 配置 MDL 來描述指定的非分頁集區內存。
StorPortAllocatePool 配置非連續、非分頁集區內存的區塊。
StorPortAllocateRegistryBuffer 配置可讓迷你埠用來讀取和寫入登錄數據的緩衝區。
StorPortBuildMdlForNonPagedPool 匯報 MDL 來描述相關聯的非分頁記憶體。
StorPortConvertUlongToPhysicalAddress 將不帶正負號的長位址轉換成實體位址。
StorPortConvertPhysicalAddressToULong64 將實體地址轉換為ULONG64值。
StorPortFreeMdl 釋放描述項清單, (MDL) 描述非分頁集區內存。
StorPortFreeContiguousMemorySpecifyCache 在系統地址空間的非分頁部分解除分配非快取記憶體的範圍。
StorPortFreePool 釋放先前由 呼叫 StorPortAllocatePool 例程所配置的記憶體區塊。
StorPortFreeRegistryBuffer 釋放配置用來儲存登錄數據的緩衝區。
StorPortGetDataInBufferMdl 傳回與 SCSI 要求區塊的輸入數據緩衝區相關聯的 MDL, (SRB) 。
StorPortGetDataInBufferScatterGatherList 傳回與 SCSI 要求區塊的輸入數據緩衝區相關聯的散佈收集清單, (SRB) 。
StorPortGetDataInBufferSystemAddress 傳回 SCSI 要求區塊輸入數據緩衝區的系統地址, (SRB) 。
StorPortGetOriginalMdl 傳回與指定 SRB 相關聯的 MDL。
StorPortGetVirtualAddress 取得對應至指定實體位址的虛擬位址。
StorPortGetPhysicalAddress 將指定的虛擬位址範圍轉換為 DMA 作業的實體地址範圍。
StorPortGetSystemAddress 傳回系統空間中指定 SCSI 要求區塊之數據緩衝區的虛擬位址, (SRB) 。
StorPortGetUncachedExtension 配置未快取的通用緩衝區,供 CPU 和裝置共用。
StorPortMarkDumpMemory 迷你埠應該標示用於傾印檔案或休眠檔案的記憶體。 標記的記憶體會保留,並在從休眠作業繼續之後保持有效。 要標記的記憶體是由 呼叫 StorPortMarkDumpMemory 中的地址和範圍長度所指定。
StorPortMoveMemory 將記憶體從一個緩衝區複製到另一個緩衝區。

通知支援例程

Storport 驅動程式提供下列通知支援例程。

常式傳回的值 Description
StorPortAsyncNotificationDetected 通知 Storport 驅動程式儲存裝置狀態變更事件。
StorPortNotification 通知 Storport 驅動程式特定事件和條件。
StorPortStateChangeDetected 通知 Storport 埠驅動程式邏輯單元號碼 (LUN) 、主機總線適配卡 (HBA) 埠或目標裝置的狀態變更。

埠和註冊 I/O 支援例程

Storport 驅動程式提供下列埠和註冊 I/O 支援例程。

常式傳回的值 Description
StorPortGetDeviceBase 將I/O位址對應至系統地址空間。
StorPortFreeDeviceBase 釋放 StorPortGetDeviceBase 所對應的裝置 I/O 記憶體範圍。
StorPortReadPortBufferUchar 從指定的埠位址讀取值
StorPortReadPortBufferUlong 從指定的埠位址讀取值。
StorPortReadPortBufferUshort 從指定的埠位址讀取值。
StorPortReadPortUchar 從指定的埠位址讀取值
StorPortReadPortUlong 從指定的埠位址讀取值。
StorPortReadPortUshort 從指定的埠位址讀取值。
StorPortReadRegisterBufferUchar 從指定的緩存器位址讀取值。
StorPortReadRegisterBufferUlong 從指定的緩存器位址讀取值。
StorPortReadRegisterBufferUlong64 將指定之64位緩存器位址中的一些ULONG64值讀入緩衝區。
StorPortReadRegisterBufferUshort 從指定的緩存器位址讀取值。
StorPortReadRegisterUchar 從指定的緩存器位址讀取值。
StorPortReadRegisterUlong 從指定的緩存器位址讀取值。
StorPortReadRegisterUlong64 從指定的64位緩存器位址讀取64位值。
StorPortReadRegisterUshort 從指定的緩存器位址讀取值。
StorPortValidateRange 判斷指定的 I/O 位址範圍是否正由另一個配接器使用。 此例程在 Windows NT 4.0 和更新版本的作業系統中已過時。
StorPortWritePortBufferUchar 將值寫入指定的緩存器位址。
StorPortWritePortBufferUlong 將值寫入指定的緩存器位址。
StorPortWritePortBufferUshort 將值寫入指定的緩存器位址。
StorPortWritePortUchar 將值寫入指定的緩存器位址。
StorPortWritePortUlong 將值寫入指定的緩存器位址。
StorPortWritePortUshort 將值寫入指定的緩存器位址。
StorPortWriteRegisterBufferUchar 將指定數目的不帶正負號位元組從緩衝區傳輸至 HBA。
StorPortWriteRegisterBufferUlong 將指定數目的 ULONG 值從緩衝區傳輸到 HBA。
StorPortWriteRegisterBufferUlong64 從指定的64位緩存器位址寫入一些ULONG64值。
StorPortWriteRegisterBufferUshort 將指定數目的 USHORT 值從緩衝區傳輸至 HBA。
StorPortWriteRegisterUchar 將指定數目的字元值從緩衝區傳輸到指定的 HBA 快取器位址。
StorPortWriteRegisterUlong 將 ULONG 值傳送至指定的 HBA 快取器位址。
StorPortWriteRegisterUlong64 將ULONG64值寫入指定的緩存器位址。
StorPortWriteRegisterUshort 將 ULONG 值傳送至指定的 HBA 快取器位址。

運行時間電源管理支援例程

Storport 驅動程式提供下列運行時間電源管理支援例程。

常式傳回的值 Description
StorPortInitializePoFxPower 向電源管理架構註冊存儲設備, (PoFx) 。
StorPortPoFxActivateComponent 遞增記憶體裝置指定元件上的啟用參考計數。
StorPortPoFxIdleComponent 遞減記憶體裝置指定元件的啟用參考計數。
StorPortPoFxPowerControl 將電源控制要求傳送至電源管理架構 (PoFx) ,以轉送至電源引擎外掛程式 (PEP) 。
StorPortPoFxSetComponentLatency 指定從閑置條件轉換為指定儲存裝置元件中作用中條件時可容許的最大延遲。
StorPortPoFxSetComponentResidency 設定在元件進入閑置條件之後,儲存裝置元件可能保持閑置時間的估計時間。

定時器支援例程

Storport 驅動程式提供下列定時器支援例程。

常式傳回的值 Description
StorPortFreeTimer 釋放 StorPortInitializeTimer 例程先前建立的 Storport 定時器內容物件。
StorPortInitializeTimer 建立 Storport 定時器內容物件。
StorPortRequestTimer 排程 Storport 定時器內容物件的回呼事件。