IMiniportDMus::NewStream 方法 (dmusicks.h)
NewStream
方法會建立與指定實體通道相關聯的邏輯數據流的新實例。
語法
NTSTATUS NewStream(
[out] PMXF *MXF,
[in, optional] PUNKNOWN OuterUnknown,
[in] POOL_TYPE PoolType,
[in] ULONG PinID,
[in] DMUS_STREAM_TYPE StreamType,
[in] PKSDATAFORMAT DataFormat,
[out] PSERVICEGROUP *ServiceGroup,
[in] PAllocatorMXF AllocatorMXF,
[in] PMASTERCLOCK MasterClock,
[out] PULONGLONG SchedulePreFetch
);
參數
[out] MXF
新數據流的輸出指標。 此參數指向呼叫端配置的指標變數,方法會將指標寫入數據流物件的 IMXF 介面。
[in, optional] OuterUnknown
需要匯總數據流物件的 IUnknown 介面指標。 這個參數是選擇性的。 如果不需要匯總,呼叫端會將此參數指定為 null 。
[in] PoolType
指定應該從中配置 DMA 通道物件的記憶體的記憶體的記憶體集區類型。 此參數會設定為其中一個 POOL_TYPE 列舉值。
[in] PinID
指定釘選標識碼。 此參數會識別要開啟的針腳。 如果 DMus 迷你埠驅動程式的 IMiniport::GetDescription 方法會輸出篩選描述項,指定篩選上總共 n 個 pin Factory,則有效的針腳標識符範圍介於 0 到 n-1 的範圍內。
[in] StreamType
指定要建立的數據流類型。 此參數設定為下列其中一個DMUS_STREAM_TYPE列舉值:
DMUS_STREAM_MIDI_RENDER
指定 MIDI 輸出 (播放) 資料流。
DMUS_STREAM_MIDI_CAPTURE
指定MIDI輸入數據流。
DMUS_STREAM_WAVE_SINK
指定波浪輸出數據流。
如需詳細資訊,請參閱下列一節。
[in] DataFormat
核心串流 KSDATAFORMAT 結構的指標,指定要用於這個實例的數據格式
[out] ServiceGroup
服務群組的輸出指標。 此參數指向呼叫端配置的指標變數,方法會將指標寫入數據流服務群組物件的 IServiceGroup 介面。 這是正在註冊以接收中斷通知的服務群組。
[in] AllocatorMXF
IAllocatorMXF 物件的指標。 這是埠驅動程式的記憶體配置器,這是回收 DMUS_KERNEL_EVENT 結構所需的。
[in] MasterClock
IMasterClock 物件的指標。 此主要時鐘會將 KS 時鐘的包裝函式傳遞至迷你埠驅動程式。 需要主時鐘指標才能同步至參考時間。
[out] SchedulePreFetch
排程預先擷取時間的輸出指標。 這個參數是呼叫端配置的 ULONGLONG 變數指標,方法會寫入時間值,指定查詢事件的前進時間範圍。 時間是以 100 奈秒為單位指定。 埠驅動程序負責排序任何超過迷你埠驅動程式在此指定時間量的事件。
傳回值
如果呼叫成功,NewStream
會傳回S_OK。 否則,方法會傳回適當的錯誤碼。
言論
請注意,埠驅動程式會建立 IAllocatorMXF 物件,NewStream
方法會透過 pAllocatorMXF 參數輸入,但迷你埠驅動程式會建立 IMXF 物件,該方法會透過 ppMXF 參數輸出。 如需 IMXF 和 IAllocatorMXF的詳細資訊,請參閱 MIDI 傳輸。
IMiniportDMus::NewStream
方法 StreamType 參數的意義類似於 IMiniportMidi::NewStream 方法的 Capture 參數:
- 在MIDI針腳上建立數據流時,IMiniportMidi::NewStream 方法的 擷取 參數會指出針腳是否要作為MIDI轉譯數據流的接收端(擷取 = FALSE)或作為MIDI擷取數據流的來源(擷取 = TRUE)。
-
同樣地,在 MIDI 或 DirectMusic 針腳上建立數據流時,
IMiniportDMus::NewStream
方法的 StreamType 參數可以指出針腳是要作為 MIDI 轉譯數據流的接收(StreamType = DMUS_STREAM_MIDI_RENDER)或作為 MIDI 擷取數據流的來源(StreamType = DMUS_STREAM_MIDI_CAPTURE)。
IMiniportDMus::NewStream
方法的 ppMXF 輸出參數取得其 ISynthSinkDMus 介面。 埠驅動程式的波浪接收會呼叫這個介面上的 Render 方法,從軟體合成器提取波數據。 如需詳細資訊,請參閱 Kernel-Mode 軟體合成器的 Wave 接收。
ppMXF、pOuterUnknown、ppServiceGroup、pAllocatorMXF,以及 pMasterClock 參數遵循 COM 物件的 參考計數慣例。
要求
要求 | 價值 |
---|---|
目標平臺 | 桌面 |
標頭 | dmusicks.h (包括 Dmusicks.h) |
IRQL | PASSIVE_LEVEL |