DirectDraw 獨佔模式
[與此頁面相關的功能 DirectShow是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。
注意
本主題僅適用于 VMR-7。 在 VMR-9 中,您可以藉由提供自己的獨佔模式配置器-簡報者來啟用獨佔模式。 如果您使用 IVMRSurfaceAllocatorNotify9::AllocateSurfaceHelper 方法,這相當簡單。 VMR9Allocator 範例示範如何實作自訂配置器簡報者。
在 DirectDraw 獨佔模式中,應用程式會獨佔控制圖形硬體。 這適用于遊戲或全螢幕視訊應用程式等應用程式。 一般而言,VMR 會建立 DirectDraw 物件,並將合作層級設定為一般。 不過,若要在 DirectDraw 獨佔模式中執行 VMR,應用程式本身必須建立 DirectDraw 物件和主要介面,然後呼叫 SetCocolLevel 來指定獨佔模式。
VMR 具有特殊的配置器簡報者,可讓它在 DirectDraw 獨佔模式中執行。 若要將 VMR 設定為使用此配置器簡報者:
建立 Filter Graph,並使用 IFilterGraph::AddFilter 方法將 VMR 新增至其中。 如需程式碼範例,請參閱 VMR 無視窗模式。
建立獨佔模式配置器簡報者:
IVMRImagePresenterExclModeConfig* pExclModeConfig; CoCreateInstance( CLSID_AllocPresenterDDXclMode, NULL, CLSCTX_INPROC_SERVER, IID_IVMRImagePresenterExclModeConfig, (void**)&pExclModeConfig );
設定新的配置器簡報者:
pExclModeConfig->SetXlcModeDDObjAndPrimarySurface(...);
將新的配置器簡報者插入 VMR。
以一般方式建置其餘篩選圖形。
相關主題