共用方式為


DMus Miniport 驅動程式

DMus 迷你埠驅動程式會管理進階 MIDI 裝置的硬體相依功能。 這些裝置支援 DirectMusic 功能,例如精確度排序器計時、可下載音效, (DLS) 和通道群組。 DMus 迷你埠驅動程式可以透過 MPU-401 等裝置達到高效能。 視硬體的功能而定,迷你埠驅動程式或埠驅動程式可以處理計時。 DMus 迷你埠驅動程式也可以支援產生波浪輸出資料流程的軟體合成器。

MIDI 硬體裝置的 DMus 迷你埠驅動程式應該支援兩個介面:

  • 迷你埠介面會初始化迷你埠物件,並建立 MIDI 資料流程。

  • 資料流程介面會管理 MIDI 資料流程,並公開大部分迷你埠驅動程式的功能。

迷你 埠介面 IMiniportDMus 會繼承 IMiniport 介面中的方法。 IMiniportDMus 提供下列其他方法:

IMiniportDMus::Init

初始化迷你埠物件。

IMiniportDMus::NewStream

建立新的資料流程物件。

IMiniportDMus::Service

通知迷你埠驅動程式服務的要求。

資料流程介面 IMXF會繼承 IUnknown 介面中的方法。 IMXF 提供下列其他方法:

IMXF::ConnectOutput

將這個資料流程物件連接到另一個資料流程物件的 IMXF 介面,也就是資料接收。

IMXF::D isconnectOutput

中斷此資料流程物件與另一個資料流程物件的 IMXF 介面的連線,該資料流程物件是資料接收。

IMXF::P utMessage

DMUS_KERNEL_EVENT 結構傳遞至資料接收。

IMXF::SetState

設定資料流程的狀態。

此外,DMus 迷你埠驅動程式的 ISynthSinkDMus 介面提供軟體合成器的 DLS 功能。 ISynthSinkDMus 會繼承基底介面 IMXF中的方法。 ISynthSinkDMus 提供下列其他方法:

ISynthSinkDMus::RefTimeToSample

將參考時間轉換為範例時間。

ISynthSinkDMus::Render

將波浪資料轉譯為波接收的緩衝區。

ISynthSinkDMus::SampleToRefTime

將範例時間轉換為參考時間。

ISynthSinkDMus::SyncToMaster

將範例時鐘同步處理至主要時鐘。

埠驅動程式的波浪接收會呼叫 ISynthSinkDMus::Render ,以讀取合成器從其 MIDI 輸入資料流程產生的波 PCM 資料。 如需波接收的詳細資訊,請參閱 Kernel-Mode軟體合成器的 Wave 接收

迷你埠驅動程式會在 DMus 埠驅動程式上呼叫下列介面:

IPortDMus

IAllocatorMXF

IMasterClock

PortCls 包含內建的 DMus 迷你埠驅動程式,適用于具有 UART 功能的 MIDI 裝置。 如需詳細資訊,請參閱 PcNewMiniport