共用方式為


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 定時器內容物件的回呼事件。