IMiniportWaveCyclic::NewStream 方法 (portcls.h)
方法 NewStream
會建立與指定實體通道相關聯的邏輯數據流的新實例。
語法
NTSTATUS NewStream(
[out] PMINIPORTWAVECYCLICSTREAM *Stream,
[in, optional] PUNKNOWN OuterUnknown,
[in] POOL_TYPE PoolType,
[in] ULONG Pin,
[in] BOOLEAN Capture,
[in] PKSDATAFORMAT DataFormat,
[out] PDMACHANNEL *DmaChannel,
[out] PSERVICEGROUP *ServiceGroup
);
參數
[out] Stream
新數據流的輸出指標。 此參數指向呼叫端配置的指標變數,此方法會將指標寫入至數據流物件的 IMiniportWaveCyclicStream 介面。 呼叫端會指定此參數的有效非 NULL 指標值。
[in, optional] OuterUnknown
需要匯總數據流物件的 物件之 IUnknown 介面的指標。 這是選擇性參數。 如果不需要匯總,呼叫端會將此參數指定為 NULL。
[in] PoolType
指定應該從中配置 DMA 通道物件的記憶體的記憶體的記憶體集區類型。 此參數會是 POOL_TYPE 列舉中定義的其中一個非分頁集區類型。
[in] Pin
要開啟的針腳數目。 如果 WaveCyclic 迷你埠驅動程式的 IMiniport::GetDescription 方法輸出篩選描述項,以指定篩選上 n 個針腳處理站的總數,則參數 Pin 的有效值會介於 0 到 n-1 的範圍內。
[in] Capture
指定是否要建立擷取數據流或轉譯數據流。 這個 參數適用於擷 取 (輸入) 通道,而針對播放 (輸出) 通道則為 FALSE 。
[in] DataFormat
KSDATAFORMAT 結構的指標,表示要用於這個實例的格式。
[out] DmaChannel
DMA 通道的輸出指標。 此參數指向呼叫端配置的指標變數,此方法會將指標寫入迷你埠驅動程式 DMA 通道物件的 IDmaChannel 介面。 呼叫端會指定此參數的有效非 NULL 指標值。 如需詳細資訊,請參閱接下來的<備註>一節。
[out] ServiceGroup
服務群組的輸出指標。 此參數指向呼叫端配置的指標變數,此方法會將指標寫入數據流服務群組物件的 IServiceGroup 介面。 這是正在註冊以進行中斷通知的服務群組。 呼叫端會指定此參數的有效非 NULL 指標值。
傳回值
NewStream
如果呼叫成功,會傳回STATUS_SUCCESS。 否則,方法會傳回適當的錯誤碼。
備註
方法 NewStream
會將數據流的初始狀態設定為 KSSTATE_STOP,並將其初始位置設定為零。 (請參閱 IMiniportWaveCyclicStream::SetState 和 IMiniportWaveCyclicStream::GetPosition.)
埠驅動程式只會在 DmaChannel 物件上呼叫下列方法:
IDmaChannel::AllocatedBufferSize
Stream、OuterUnknown、DmaChannel 和 ServiceGroup 參數會遵循 COM 物件的參考計數慣例。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
標頭 | portcls.h (包含 Portcls.h) |
IRQL | PASSIVE_LEVEL |