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 或其他全螢幕應用程式切換
    在此情況下,應用程式必須釋放 IDXGIOutputDuplication 介面,並為新內容建立新的 IDXGIOutputDuplication
  • 如果呼叫應用程式提供的緩衝區不夠大,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參數中配置和指定多少緩衝區空間,呼叫者實際使用多少緩衝區空間。
pPointerShapeInfo參數描述新的指標圖形。

需求

   
最低支援的用戶端 Windows 8 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2012 [僅限傳統型應用程式]
目標平台 Windows
標頭 dxgi1_2.h
程式庫 Dxgi.lib

另請參閱

IDXGIOutputDuplication