次の方法で共有


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

GetFramePointerShapepPointerShapeBuffer のバッファーに新しいポインター図形ピクセル データを格納するために必要なバイト数を受け取る変数へのポインター。

必要なバッファー サイズを返す方法の詳細については、「解説」を参照してください。

[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 のパラメーターの 1 つが正しくない場合に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
Library Dxgi.lib

関連項目

IDXGIOutputDuplication