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::SetStateIMiniportWaveCyclicStream::GetPosition.)

埠驅動程式只會在 DmaChannel 物件上呼叫下列方法:

IDmaChannel::AllocatedBufferSize

IDmaChannel::BufferSize

IDmaChannel::CopyFrom

IDmaChannel::CopyTo

IDmaChannel::SetBufferSize

IDmaChannel::SystemAddress

StreamOuterUnknownDmaChannelServiceGroup 參數會遵循 COM 物件的參考計數慣例

規格需求

需求
目標平台 Universal
標頭 portcls.h (包含 Portcls.h)
IRQL PASSIVE_LEVEL

另請參閱

IDmaChannel

IMiniport::GetDescription

IMiniportWaveCyclic

IMiniportWaveCyclicStream

IServiceGroup

KSDATAFORMAT

POOL_TYPE