IDXGIOutputDuplication::GetFramePointerShape 方法 (dxgi1_2.h)
取得目前桌面框架之新指標圖形的相關資訊。
語法
HRESULT GetFramePointerShape(
[in] UINT PointerShapeBufferSize,
[out] void *pPointerShapeBuffer,
[out] UINT *pPointerShapeBufferSizeRequired,
[out] DXGI_OUTDUPL_POINTER_SHAPE_INFO *pPointerShapeInfo
);
參數
[in] PointerShapeBufferSize
呼叫端傳遞給 pPointerShapeBuffer 參數之緩衝區的大小,以位元組為單位。
[out] pPointerShapeBuffer
GetFramePointerShape複製並傳回新指標圖形圖元資料的緩衝區指標。
[out] pPointerShapeBufferSizeRequired
接收 GetFramePointerShape 所需位元組數目的變數指標,必須在 pPointerShapeBuffer的緩衝區中儲存新的指標圖形圖元資料。
如需傳回所需緩衝區大小的詳細資訊,請參閱。
[out] pPointerShapeInfo
接收指標圖形資訊的 DXGI_OUTDUPL_POINTER_SHAPE_INFO 結構的指標。
傳回值
GetFramePointerShape 會傳回:
- 如果已成功擷取新指標圖形的相關資訊,S_OK。
- 如果桌面重複介面無效,DXGI_ERROR_ACCESS_LOST。 桌面重複介面通常會在桌面上顯示不同類型的影像時變成無效。 這種情況的範例包括:
- 桌面切換
- 模式變更
- 從 DWM 開啟、關閉 DWM 或其他全螢幕應用程式切換
- 如果呼叫應用程式提供的緩衝區不夠大,DXGI_ERROR_MORE_DATA。
- 如果應用程式稱為 GetFramePointerShape 而不 擁有桌面映射,則DXGI_ERROR_INVALID_CALL。
- 如果 GetFramePointerShape 的其中一個參數不正確,E_INVALIDARG;例如,如果 pPointerShapeInfo 為 Null。
- DXGI_ERROR 主題中 可能描述的其他錯誤碼。
備註
GetFramePointerShape 會將大小值儲存在 pPointerShapeBufferSizeRequired的變數中。 這個值會指定 pPointerShapeBufferSizeRequired 需要儲存新指標圖形圖元資料的位元組數目。 您可以在下列情況下使用 值來決定要配置給未來要傳遞至 pPointerShapeBuffer緩衝區的記憶體數量:
- GetFramePointerShape 因為緩衝區不夠大,所以DXGI_ERROR_MORE_DATA失敗。
- GetFramePointerShape 提供大於必要緩衝區。 在 pPointerShapeBufferSizeRequired傳回的大小值會通知呼叫者,相較于在 PointerShapeBufferSize參數中配置和指定多少緩衝區空間,呼叫者實際使用多少緩衝區空間。
需求
最低支援的用戶端 | Windows 8 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2012 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | dxgi1_2.h |
程式庫 | Dxgi.lib |