共用方式為


DirectDraw 獨佔模式

[與此頁面相關聯的功能,DirectShow是舊版功能。 它已被 MediaPlayer、imfMediaEngine 取代,並在媒體基金會 音訊/視訊擷取。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft強烈建議新程式代碼盡可能在媒體 基礎中使用 MediaPlayerIMFMediaEngine 音訊/視訊擷取,而不是 DirectShow。 Microsoft建議使用舊版 API 的現有程式代碼,盡可能改寫成使用新的 API。]

注意

本主題僅適用於 VMR-7。 在 VMR-9 中,您會提供自己的獨佔模式配置器演示者,以啟用獨佔模式。 如果您使用 IVMRSurfaceAllocatorNotify9::AllocateSurfaceHelper 方法,這相當簡單。 VMR9Allocator 範例示範如何實作自定義配置器演示者。

 

在 DirectDraw 獨佔模式中,應用程式會完全控制圖形硬體。 這適用於遊戲之類的應用程式,或可能是全螢幕視訊應用程式。 一般而言,VMR 會建立 DirectDraw 物件,並將合作層級設定為一般。 不過,若要在 DirectDraw 獨佔模式中執行 VMR,應用程式本身必須建立 DirectDraw 物件和主要介面,並呼叫 SetCooperativeLevel 以指定獨佔模式。

VMR 具有特殊的配置器演示者,可讓它在 DirectDraw 獨佔模式中執行。 若要將 VMR 設定為使用此設定器演示者:

  1. 建立 Filter Graph,並使用 IFilterGraph::AddFilter 方法將 VMR 新增至其中。 如需程式代碼範例,請參閱 VMR 無視窗模式

  2. 建立獨佔模式設定器演示者:

    IVMRImagePresenterExclModeConfig* pExclModeConfig;
    CoCreateInstance(
            CLSID_AllocPresenterDDXclMode,
            NULL,
            CLSCTX_INPROC_SERVER,
            IID_IVMRImagePresenterExclModeConfig,
            (void**)&pExclModeConfig
            );
    
  3. 設定新的設定器演示者:

    pExclModeConfig->SetXlcModeDDObjAndPrimarySurface(...);
    
  4. 將新的配置器演示者插入 VMR 中。

  5. 以一般方式建置其餘的篩選圖形。

VMR 作業模式