IMFDeviceTransform::GetStreamIDs 方法 (mftransform.h)
GetStreamIDs方法會取得此媒體基礎轉換 (MFT) 之輸入和輸出資料流程的資料流程識別碼。
語法
HRESULT GetStreamIDs(
[in] DWORD dwInputIDArraySize,
[out] DWORD *pdwInputStreamIds,
[out] DWORD dwOutputIDArraySize,
DWORD *pdwOutputStreamIds
);
參數
[in] dwInputIDArraySize
pdwInputStreamID中的元素數目
[out] pdwInputStreamIds
呼叫端所配置的陣列指標。 方法會將陣列填入輸入資料流程識別碼。 陣列大小至少必須等於輸入資料流程的數目。 若要取得輸入資料流程的數目,請呼叫 IMFDeviceTransform::GetStreamCount。
如果呼叫端傳遞大於輸入資料流程數目的陣列,MFT 不得將值寫入額外的陣列專案。
[out] dwOutputIDArraySize
pdwOutputStreamID 中的元素數目。
pdwOutputStreamIds
呼叫端所配置的陣列指標。 方法會以輸出資料流程識別碼填入陣列。 陣列大小至少必須等於輸出資料流程的數目。 若要取得輸出資料流程的數目,請呼叫 IMFDeviceTransform::GetStreamCount。
傳回值
方法會傳回 HRESULT。 可能的值包括但不限於下表中所提供的值。
傳回碼 | 描述 |
---|---|
|
轉換資料流程狀態成功。 |
|
傳遞的指標無效。 |
|
傳入的緩衝區沒有足夠的空間來填入資料流程識別碼。 |
備註
串流識別碼是必要的,因為某些 MFT 可以新增或移除資料流程,因此資料流程的索引可能不是唯一的。 因此,在資料流程上運作的 IMFDeviceTransform 方法會採用資料流程識別碼。
所有輸入資料流程識別碼都必須在 MFT 內是唯一的,而且所有輸出資料流程識別碼都必須是唯一的。 不過,輸入資料流程和輸出資料流程可以共用相同的識別碼。 I
如果用戶端新增輸入資料流程,則用戶端會指派識別碼,因此 MFT 必須允許任意識別碼,只要它們是唯一的。 如果 MFT 建立輸出資料流程,MFT 會指派識別碼。
根據慣例,如果 MFT 只有一個固定輸入資料流程和一個固定輸出資料流程,它應該將識別碼 0 指派給這兩個數據流。
需求
最低支援的用戶端 | Windows 10 (版本 1703) |
目標平台 | Windows |
標頭 | mftransform.h |