Storport 驅動程序支援例程
此頁面會將系統提供的 Storport 驅動程式提供給迷你埠的一些支援例程分類。 如需完整清單,請參閱 storport.h。
如需 Storport 驅動程式迷你埠例程的清單,請參閱 Storport Miniport Driver 例程。
直接記憶體存取支援例程
Storport 驅動程式提供下列直接記憶體存取 (DMA) 支援例程。
常式 | 描述 |
---|---|
StorPortBuildScatterGatherList | 建立指定數據緩衝區的散佈/收集清單。 |
StorPortGetScatterGatherList | 擷取指定之 SCSI 要求區塊的相關聯散佈/收集清單(SRB)。 |
StorPortPutScatterGatherList | 釋放與先前由 StorPortBuildScatterGatherList 例程呼叫所建立之散佈/收集清單相關聯的任何資源。 |
一般支援例程
Storport 提供下列一般支援例程。
常式 | 描述 |
---|---|
StorPortDebugPrint | 如果附加調試程式,則會將偵錯字串列印至核心調試程式。 |
StorPortEtwEvent2 | 將 Windows 事件追蹤 (ETW) 事件發佈至記憶體追蹤通道。 迷你埠可以記錄兩個一般用途 ETW 參數。 ETW 參數會以兩個名稱/值組表示。 |
StorPortEtwEvent4 | 將 ETW 事件發佈至記憶體追蹤通道。 迷你埠可以記錄四個一般用途 ETW 參數。 ETW 參數會以四個名稱/值組表示。 |
StorPortEtwEvent8 | 將 ETW 事件發佈至記憶體追蹤通道。 迷你埠可以記錄八個一般用途 ETW 參數。 ETW 參數會以八個名稱/值組表示。 |
StorPortGetActivityIdSrb | 擷取與要求區塊相關聯的 ETW 活動標識碼。 |
StorPortGetDeviceObjects | 傳回與配接器裝置堆疊相關聯的裝置物件。 傳回的裝置對像是適配卡的功能和實體裝置物件,以及連接功能裝置物件的裝置物件。 |
StorPortGetSystemPortNumber | 擷取記憶體配接器的系統指派埠號碼。 |
StorPortInitializeSListHead | 初始化 Storport 管理的單向連結清單的前端。 |
StorPortInterlockedFlushSList | 從 Storport 管理的單選連結清單中移除所有專案。 在多處理器系統上同步處理清單的存取權 |
StorPortInterlockedPopEntrySList | 從 Storport 管理的單一連結清單前面移除專案。 多重處理器系統上會同步處理清單的存取權。 |
StorPortInterlockedPushEntrySList | 在 Storport 管理的單一連結清單前面插入專案。 多重處理器系統上會同步處理清單的存取權。 |
StorPortInvokeAcpiMethod | 執行存儲設備的ACPI方法。 |
StorPortIsCurrentOsInstallationUpgrade | 檢查 Windows 目前的安裝是否為從舊版升級。 |
StorPortIsDeviceOperationAllowed | 允許迷你埠判斷是否允許特定裝置管理類別的作業。 |
StorPortLogError | 通知埠驅動程式發生錯誤。 |
StorPortLogTelemetry | 記錄迷你埠遙測事件,以協助診斷或收集任何有用的資訊。 |
StorPortLogSystemEvent | 為迷你埠驅動程式提供 Windows 核心事件設施功能的完整存取權,讓迷你埠驅動程式能夠建立真正適用於針對記憶體問題進行疑難解答的事件記錄專案。 它提供較佳的 StorPortLogError 替代方案。 |
StorPortQueryDepthSList | 擷取 Storport 管理之單項連結清單中的項目數。 |
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 要求處理支援例程。
常式 | 描述 |
---|---|
StorPortBusy | 通知埠驅動程式適配卡目前忙碌中,處理未處理的要求。 |
StorPortCompleteRequest | 完成所有未完成的要求,將 SRB 狀態值設定為 SrbStatus。 |
StorPortCompleteServiceIrp | 當 Storport 虛擬迷你埠驅動程式需要完成其 HwStorProcessServiceRequest 回呼例程中收到的要求時,由 Storport 虛擬迷你埠驅動程式呼叫。 |
StorPortDeviceBusy | 通知埠驅動程式指定的邏輯單元目前忙碌中,處理未處理的要求。 |
StorPortDeviceReady | 通知埠驅動程式指出指定的邏輯單元已準備好處理新的要求。 |
StorPortFreeWorker | 釋放 StorPortInitializeWorker 例程先前配置的 Storport 工作專案。 |
StorPortGetRequestInfo | 擷取與 SCSI 要求區塊 (SRB) 相關聯的 IO 要求資訊,並在STOR_REQUEST_INFO結構中傳回它。 |
StorPortInitializeWorker | 建立在系統背景工作線程中執行的新 Storport 工作專案。 |
StorPortQueueWorkItem | 排程 Storport 工作專案,以在系統背景工作線程的內容中執行。 |
StorPortPause | 暫停指定時段的配接器。 |
StorPortPauseDevice | 在指定的一段時間內暫停特定的邏輯單元裝置。 |
StorPortReady | 通知埠驅動程式適配卡不再忙碌。 |
StorPortResume | 繼續暫停的配接器。 |
StorPortResumeDevice | 繼續先前暫停的邏輯單元。 |
初始化支援例程
Storport 驅動程式提供下列初始化支援例程。
常式 | 描述 |
---|---|
StorPortEnablePassiveInitialization | 讓迷你埠的 HwStorPassiveInitializeRoutine 回呼例程在迷你埠初始化期間於PASSIVE_LEVEL執行。 |
StorPortGetActiveGroupCount | 傳回系統中存在的處理器群組數目。 |
StorPortGetActiveNodeCount | 傳回系統中存在的節點數目。 |
StorPortGetBusData | 擷取初始化 HBA 所需的總線特定組態資訊。 |
StorPortGetCurrentProcessorNumber | 從核心擷取目前的處理器編號。 |
StorPortGetGroupAffinity | 在要求群組中建構使用中處理器的遮罩。 |
StorPortGetHighestNodeNumber | 傳回系統上的最大可能節點編號。 |
StorPortGetLogicalProcessorRelationship | 傳回一或多個指定型別的關聯性資訊。 這些類型包括主機系統中的群組、實體套件和節點。 傳回的資訊包括由主機系統中邏輯處理器所組成的處理器親和性遮罩。 這些邏輯處理器會共用指定的關聯性類型。 |
StorPortGetLogicalUnit | 傳回迷你埠驅動程式每個邏輯單元儲存區域的指標。 |
StorPortGetNodeAffinity | 在要求的非一元記憶體存取 (NUMA) 節點中建構使用中處理器的遮罩。 |
StorPortGetStartIoPerfParams | 將指定 I/O 要求的效能參數放在STARTIO_PERFORMANCE_PARAMETERS結構中。 |
StorPortInitialize | 初始化埠驅動程序參數和延伸模組數據。 StorPortInitilize 也會儲存迷你埠驅動程式所提供的配接器資訊。 |
StorPortInitializePerfOpts | 使用 PERF_CONFIGURATION_DATA 結構,初始化迷你埠驅動程式和 Storport 驅動程式支援的效能優化。 |
StorPortSetAdapterBusType | 用來根據配接器的目前組態來調整配接器的 BusType。 使用這個例程設定 BusType 可讓您覆寫在迷你埠 INF 中設定的全域屬性,而不需要重新安裝驅動程式。 這項功能適用於具有不同總線類型的多個適配卡的RAID支援或支援等案例。 |
StorPortSetBusDataByOffset | 寫入總線特定的組態資訊。 |
StorPortSetDeviceQueueDepth | 設定所指示裝置之裝置佇列的最大深度。 |
StorPortSetPowerSettingNotificationGuids | 啟用迷你埠以接收電源設定通知。 迷你埠會註冊 GUID 陣列,以識別要接收電源變更通知的電源設定。 |
StorPortSetUnitAttributes | 向 Storport 驅動程式註冊儲存單位裝置的電源屬性。 |
中斷支援例程
Storport 驅動程式提供下列中斷支援例程。
常式 | 描述 |
---|---|
StorPortGetMSIInfo | 擷取指定訊息的信號中斷 (MSI) 資訊。 |
StorPortSynchronizeAccess | 提供迷你埠驅動程式裝置延伸模組的同步存取。 |
StorPortInitializeDpc | 初始化 StorPort 延遲過程呼叫 (DPC.) |
StorPortIssueDpc | 發行 Storport DPC。 |
StorPortStallExecution | 停止迷你埠驅動程式。 |
鎖定支援例程
Storport 驅動程式提供下列鎖定支援例程。
常式 | 描述 |
---|---|
StorPortAcquireMSISpinLock | 取得與指定訊息相關聯的訊息信號中斷 (MSI) 微調鎖定。 |
StorPortAcquireSpinLock | 取得指定的微調鎖定。 |
StorPortReleaseMSISpinLock | 釋放先前取得之指定訊息的 MSI 微調鎖定。 |
StorPortReleaseSpinLock | 釋放 StorPortAcquireSpinLock 取得 的微調鎖定。 |
記憶體管理支援例程
Storport 驅動程式提供下列記憶體管理支援例程。
常式 | 描述 |
---|---|
StorPortAllocateContiguousMemorySpecifyCacheNode | 配置實體連續非快取、非分頁記憶體的範圍。 |
StorPortAllocateMdl | 配置 MDL 來描述指定的非分頁集區內存。 |
StorPortAllocatePool | 配置非連續、非分頁集區內存的區塊。 |
StorPortAllocateRegistryBuffer | 配置可讓迷你埠用來讀取和寫入登錄數據的緩衝區。 |
StorPortBuildMdlForNonPagedPool | 更新 MDL 以描述相關聯的非分頁記憶體。 |
StorPortConvertUlongToPhysicalAddress | 將未簽署的長位址轉換成實體位址。 |
StorPortConvertPhysicalAddressToULong64 | 將實體地址轉換成ULONG64值。 |
StorPortFreeMdl | 釋放描述非分頁集區內存的記憶體描述元清單 (MDL)。 |
StorPortFreeContiguousMemorySpecifyCache | 解除分配系統地址空間之非分頁部分的非快取記憶體範圍。 |
StorPortFreePool | 釋放先前由 StorPortAllocatePool 例程呼叫所配置的記憶體區塊。 |
StorPortFreeRegistryBuffer | 釋放配置用來儲存登錄數據的緩衝區。 |
StorPortGetDataInBufferMdl | 傳回與 SCSI 要求區塊 (SRB) 輸入數據緩衝區相關聯的 MDL。 |
StorPortGetDataInBufferScatterGatherList | 傳回與 SCSI 要求區塊 (SRB) 之輸入數據緩衝區相關聯的散佈收集清單。 |
StorPortGetDataInBufferSystemAddress | 傳回 SCSI 要求區塊 (SRB) 輸入數據緩衝區的系統位址。 |
StorPortGetOriginalMdl | 傳回與指定 SRB 相關聯的 MDL。 |
StorPortGetVirtualAddress | 取得對應至指定實體位址的虛擬位址。 |
StorPortGetPhysicalAddress | 將指定的虛擬位址範圍轉換為 DMA 作業的實體地址範圍。 |
StorPortGetSystemAddress | 針對指定 SCSI 要求區塊 (SRB) 的數據緩衝區,傳回系統空間中的虛擬位址。 |
StorPortGetUncachedExtension | 配置 CPU 和裝置可以共用的未快取通用緩衝區。 |
StorPortMarkDumpMemory | 迷你埠應該標示用於傾印檔案或休眠檔案的記憶體。 標示的記憶體會保留,並在從休眠作業繼續之後維持有效狀態。 要標記的記憶體是由 StorPortMarkDumpMemory 呼叫中的地址和範圍長度所指定。 |
StorPortMoveMemory | 將記憶體從一個緩衝區複製到另一個緩衝區。 |
通知支援例程
Storport 驅動程式提供下列通知支援例程。
常式 | 描述 |
---|---|
StorPortAsyncNotificationDetected | 通知 Storport 驅動程式儲存設備狀態變更事件。 |
StorPortNotification | 通知 Storport 驅動程式特定事件和條件。 |
StorPortStateChangeDetected | 通知 Storport 埠驅動程式邏輯單元號碼 (LUN)、主機總線適配卡 (HBA) 埠或目標裝置的狀態變更。 |
埠和註冊 I/O 支援例程
Storport 驅動程式提供下列埠,並註冊 I/O 支援例程。
常式 | 描述 |
---|---|
StorPortGetDeviceBase | 將I/O位址對應至系統地址空間。 |
StorPortFreeDeviceBase | 釋放 StorPortGetDeviceBase 先前對應的裝置 I/O 記憶體範圍。 |
StorPortReadPortBufferUchar | 從指定的埠位址讀取值 |
StorPortReadPortBufferUlong | 從指定的埠位址讀取值。 |
StorPortReadPortBufferUshort | 從指定的埠位址讀取值。 |
StorPortReadPortUchar | 從指定的埠位址讀取值 |
StorPortReadPortUlong | 從指定的埠位址讀取值。 |
StorPortReadPortUshort | 從指定的埠位址讀取值。 |
StorPortReadRegisterBufferUchar | 從指定的緩存器位址讀取值。 |
StorPortReadRegisterBufferUlong | 從指定的緩存器位址讀取值。 |
StorPortReadRegisterBufferUlong64 | 將指定數目的ULONG64值從指定的64位緩存器位址讀取到緩衝區。 |
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 驅動程式提供下列運行時間電源管理支援例程。
常式 | 描述 |
---|---|
StorPortInitializePoFxPower | 向電源管理架構 (PoFx) 註冊存儲設備。 |
StorPortPoFxActivateComponent | 遞增存放設備指定元件上的啟用參考計數。 |
StorPortPoFxIdleComponent | 遞減存放設備指定元件的啟用參考計數。 |
StorPortPoFxPowerControl | 將電源控制要求傳送至電源管理架構 (PoFx) 以轉送至電源引擎外掛程式 (PEP)。 |
StorPortPoFxSetComponentLatency | 指定在指定的儲存裝置元件中,從閑置轉換到作用中可容許的最大延遲。 |
StorPortPoFxSetComponentResidency | 設定在元件進入閑置條件之後,儲存裝置元件可能保持閑置的估計時間。 |
定時器支援例程
Storport 驅動程式提供下列定時器支援例程。
常式 | 描述 |
---|---|
StorPortFreeTimer | 釋放 StorPortInitializeTimer 例程先前建立的 Storport 定時器內容物件。 |
StorPortInitializeTimer | 建立 Storport 定時器內容物件。 |
StorPortRequestTimer | 排程 Storport 定時器內容物件的回呼事件。 |