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 個針腳處理站的總數,則有效的針腳標識符會位於範圍 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。 否則,方法會傳回適當的錯誤碼。
備註
請注意,埠驅動程式會透過 pAllocatorMXF 參數建立方法輸入的 IAllocatorMXF 物件,但迷你埠驅動程式會建立 IMXF 物件NewStream
,該方法會透過 ppMXF 參數輸出。 如需 IMXF 和 IAllocatorMXF 的詳細資訊,請參閱 MIDI 傳輸。
方法 StreamType 參數的意義IMiniportDMus::NewStream
類似於 IMiniportMidi::NewStream 方法的 Capture 参數:
- 在MIDI針腳上建立數據流時,IMiniportMidi::NewStream 方法的 Capture 參數會指出針腳是要作為 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 軟體合成器的波接收。
ppMXF、pOuterUnknown、ppServiceGroup、pAllocatorMXF 和 pMasterClock 參數會遵循 COM 對象的參考計數慣例。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | dmusicks.h (包含 Dmusicks.h) |
IRQL | PASSIVE_LEVEL |