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 定時器內容物件的回呼事件。 |
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應