IMFSinkWriter::GetServiceForStream 方法 (mfreadwrite.h)

查詢介面的基礎媒體接收或編碼器。

語法

HRESULT GetServiceForStream(
  [in]  DWORD   dwStreamIndex,
  [in]  REFGUID guidService,
  [in]  REFIID  riid,
  [out] LPVOID  *ppvObject
);

參數

[in] dwStreamIndex

要查詢之數據流的以零起始的索引,或 MF_SINK_WRITER_MEDIASINK 來查詢媒體接收本身。

[in] guidService

服務標識元 GUID 或 GUID_NULL。 如果值 GUID_NULL,方法會呼叫 QueryInterface 以取得要求的介面。 否則,方法會呼叫 IMFGetService::GetService。 如需服務標識碼的清單,請參閱 服務介面

[in] riid

所要求介面的介面標識碼 (IID) 。

[out] ppvObject

接收所要求介面的指標。 呼叫端必須釋放 介面。

傳回值

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

如果 dwStreamIndex 參數等於 MF_SINK_WRITER_MEDIASINK,方法會嘗試從媒體接收取得介面。 否則,它會嘗試從位於指定索引處數據流的編碼器取得介面。 如果失敗,或沒有編碼器存在,方法會嘗試從媒體接收上的數據流取得介面。

如果接收的輸入和輸出類型相同且壓縮,則可能不需要編碼,而且不會具現化視訊編碼器。 在此情況下, GetServiceForStream 會傳回MF_E_UNSUPPORTED_SERVICE。

如果已安裝適用於 Windows Vista 的平臺更新補充,則此介面可在 Windows Vista 上使用。

規格需求

需求
最低支援的用戶端 適用於 Windows Vista 的 Windows 7、Windows Vista 和平臺更新補充 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 mfreadwrite.h

另請參閱

IMFSinkWriter

接收寫入器