IMFDeviceTransform::SetInputStreamState 方法 (mftransform.h)

SetInputStreamState方法會設定裝置 MFT 輸入資料流程狀態和媒體類型。

語法

HRESULT SetInputStreamState(
  [in] DWORD             dwStreamID,
  [in] IMFMediaType      *pMediaType,
  [in] DeviceStreamState value,
  [in] DWORD             dwFlags
);

參數

[in] dwStreamID

需要變更狀態和媒體類型的輸入資料流程資料流程的資料流程識別碼。

[in] pMediaType

輸入資料流程的慣用媒體類型會透過此參數傳入。 只有在傳入媒體類型與目前的媒體類型不同時,裝置 MFT 才應該變更媒體類型。

[in] value

指定輸入資料流程應該轉換至的 DeviceStreamState

[in] dwFlags

傳回 S_OK 時,請執行狀態變更作業。 否則,這包括在 devproxy 輸出針腳上設定媒體類型時發生的錯誤。 在此情況下,請適當地傳播錯誤。

傳回值

方法會傳回 HRESULT。 可能的值包括但不限於下表中所提供的值。

傳回碼 描述
S_OK
初始化成功
MF_E_INVALIDREQUEST
裝置 MFT 目前無法支援要求。
MF_E_INVAILIDSTREAMNUMBER
傳遞不正確資料流程識別碼。
MF_E_INVALID_STREAM_STATE
無法進行要求的資料流程轉換。

備註

此介面函式可協助將輸入資料流程轉換為指定狀態,並在輸入資料流程上設定指定的媒體類型。 當 Device MFT 要求要變更特定輸入資料流程的狀態和媒體類型時,裝置轉換管理員 (DTM) 會使用此方式。 當其中一個裝置 MFT 的輸出變更時,裝置 MFT 必須要求這類變更。

例如,假設裝置 MFT 有兩個輸入資料流程和三個輸出資料流程。 讓輸出 1 和輸出 2 來源來自輸入 1,並在 720p 串流。 現在,如果輸出 2 的媒體類型變更為 1080p,則裝置 MFT 必須將輸入 1 的媒體類型變更為 1080p。 若要達成此目的,Device MFT 應該要求 DTM 使用 METransformInputStreamStateChanged 訊息呼叫此方法。

需求

   
最低支援的用戶端 Windows 10 (版本 1703)
目標平台 Windows
標頭 mftransform.h

另請參閱

IMFDeviceTransform