共用方式為


資源清單物件

PortCls 系統驅動程式會實作 IResourceList 介面,以利迷你埠驅動程式。 IResourceList 物件代表組態資源清單,這是隨插即用管理員在裝置啟動時指派給裝置的系統硬體資源清單。 如需啟動時資源指派的詳細資訊,請參閱 在函式驅動程式中啟動裝置

資源清單包含下列類型的資源:

  • 插斷向量

  • DMA 通道

  • I/O 埠位址

  • 匯流排相對記憶體位址區塊

如需資源類型的相關資訊,請參閱 硬體資源

IResourceList物件會封裝資源清單的已翻譯和未轉譯 (或「原始」) 版本。 如需已翻譯和未轉譯資源的詳細資訊,請參閱 將Bus-Relative位址對應至虛擬位址

IResourceList介面支援下列方法:

IResourceList::AddEntry

IResourceList::AddEntryFromParent

IResourceList::FindTranslatedEntry

IResourceList::FindUntranslatedEntry

IResourceList::NumberOfEntries

IResourceList::NumberOfEntriesOfType

IResourceList::TranslatedList

IResourceList::UntranslatedList

標頭檔 Portcls.h 會定義一組宏,以簡化資源清單物件的處理。 這些宏會產生 對 IResourceList 方法的呼叫。 如需詳細資訊,請參閱 IResourceList。

此外,Portcls.h 會定義一組函式來建立資源清單:

PcNewResourceList

PcNewResourceSublist

若要在音訊配接卡上啟動裝置,作業系統會呼叫介面卡驅動程式的啟動裝置常式 (請參閱 啟動順序) ,並以輸入參數的形式傳入資源清單物件。 此清單包含作業系統指派給配接器驅動程式的所有系統資源。

在啟動裝置常式中,介面卡驅動程式會啟動所有介面卡驅動程式的裝置, (波浪裝置、MIDI 裝置等等) 。 若要管理每個裝置,配接器驅動程式會建立迷你埠驅動程式物件及其相關聯的埠驅動程式物件。 介面卡驅動程式會將資源清單中的資源分成介面卡中的各種裝置。 為了達到此目的,驅動程式通常會呼叫 PcNewResourceSublist ,為每個裝置建立資源清單物件。 驅動程式接著會呼叫 IResourceList::AddEntryFromParent ,視需要多次將選取的資源從父清單複製到各種子清單。 此外,配接器驅動程式可能會指派一些資源給本身。

接下來,start-device 常式會呼叫每個埠驅動程式的 IPort::Init 方法,並將裝置的資源清單物件傳入 (包含子清單) 做為輸入參數。 每個埠驅動程式的 IPort::Init 方法都會呼叫對應的 miniport 驅動程式 IMiniportXxx::Init 方法,這是下列其中一項:

IMiniportDMus::Init

IMiniportMidi::Init

IMiniportTopology::Init

IMiniportWaveCyclic::Init

IMiniportWavePci::Init

IPort::Init方法會將其資源清單物件傳遞至 IMiniportXxx::Init 方法作為輸入參數。 迷你埠驅動程式接著可以使用資源清單中的 DMA 通道、中斷和其他系統資源。

如需程式碼範例,請參閱 Microsoft Windows 驅動程式套件中的 Sb16 範例音訊驅動程式 (WDK) 。