IDXGIOutputDuplication 介面 (dxgi1_2.h)
IDXGIOutputDuplication介面會存取並操作重複的桌面映射。
繼承
IDXGIOutputDuplication介面繼承自IDXGIObject。 IDXGIOutputDuplication 也有下列類型的成員:
方法
IDXGIOutputDuplication介面具有這些方法。
IDXGIOutputDuplication::AcquireNextFrame 指出應用程式已準備好處理下一個桌面映射。 |
IDXGIOutputDuplication::GetDesc 擷取重複輸出的描述。 此描述會指定包含桌面影像之表面的維度。 |
IDXGIOutputDuplication::GetFrameDirtyRects 取得目前桌面框架之中途矩形的相關資訊。 |
IDXGIOutputDuplication::GetFrameMoveRects 取得目前桌面框架之移動矩形的相關資訊。 |
IDXGIOutputDuplication::GetFramePointerShape 取得目前桌面框架之新指標圖形的相關資訊。 |
IDXGIOutputDuplication::MapDesktopSurface 如果桌面映射已在系統記憶體中,則提供 CPU 的有效桌面映射存取權。 |
IDXGIOutputDuplication::ReleaseFrame 表示應用程式已完成處理框架。 |
IDXGIOutputDuplication::UnMapDesktopSurface 使使用 IDXGIOutputDuplication::MapDesktopSurface 擷取之桌面映射的指標失效。 |
備註
共同作業應用程式可以使用 IDXGIOutputDuplication 來存取桌面映射。 非 8bpp DirectX 全螢幕模式和非 8bpp OpenGL 全螢幕模式上的 DWM (DWM) 支援IDXGIOutputDuplication。 不支援 16 位或 32 位 GDI 非 DWM 桌面圖案。
應用程式可以在個別執行緒上使用 IDXGIOutputDuplication 來接收桌面映射,並將其饋送至其特定的映射處理管線。 應用程式會使用 IDXGIOutputDuplication 來執行下列作業:
- 取得下一個桌面映射。
- 擷取描述影像的資訊。
- 在映射上執行作業。 這項作業可以像將影像複製到暫存緩衝區一樣簡單,讓應用程式可以讀取影像上的圖元資料。 應用程式會在應用程式呼叫 IDXGISurface::Map之後讀取圖元資料。 或者,此作業可能更為複雜。 例如,應用程式可以在影像的更新區域上執行一些圖元著色器,以編碼這些區域以傳輸至用戶端。
- 應用程式完成處理每個桌面映射之後,它會釋出映射、迴圈至步驟 1,然後重複這些步驟。 應用程式會重複這些步驟,直到完成處理桌面映射為止。
- 撰寫桌面映射來撰寫 DWM
- 全螢幕 DirectX 或 OpenGL 應用程式
- 切換至個別桌面的應用程式,例如用來顯示登入畫面的安全桌面
IDXGIOutputDuplication變成不正確情況範例如下:
- 桌面切換
- 模式變更
- 從 DWM 開啟、關閉 DWM 或其他全螢幕應用程式切換
雖然應用程式會處理每個桌面映射,但作業系統會將所有桌面映射更新累積到單一更新中。 如需桌面更新的詳細資訊,請參閱 更新桌面映射資料。
桌面映射一律為 DXGI_FORMAT_B8G8R8A8_UNORM 格式。
Windows 市集應用程式沒有 IDXGIOutputDuplication 介面。
需求
最低支援的用戶端 | Windows 8 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2012 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | dxgi1_2.h |