IDXGIDevice3
COM公式ドキュメント
IDXGIDevice3 インターフェイスは、イメージデータを生成する DXGI オブジェクト用の派生クラスを実装します。このインターフェイスは、DXGI デバイスによるグラフィックスメモリ使用量をトリミング(削減)するメソッドを公開します。
解説(Remarks)
IDXGIDevice3 インターフェイスは、他の DXGI オブジェクトへのアクセスを必要とする DXGI オブジェクトで使用するために設計されています。このインターフェイスは、DXGI との通信に Direct3D を使用しない アプリケーションで役立ちます。
Direct3D のデバイス作成関数は、Direct3D デバイスオブジェクトを返します。この Direct3D デバイスオブジェクトは IUnknown インターフェイスを実装します。この Direct3D デバイスオブジェクトに対して、デバイスに 対応する IDXGIDevice3 インターフェイスをクエリできます。Direct3D デバイスの IDXGIDevice3 インターフェイスを取得するには、次のコードを使用します。
IDXGIDevice3 * pDXGIDevice;
hr = g_pd3dDevice->QueryInterface(__uuidof(IDXGIDevice3), (void **)&pDXGIDevice);
Windows Phone 8: この API はサポートされています。
メソッド 1
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
IDXGIDevice3 DXGI デバイスがアプリのために割り当てたグラフィックスメモリをトリミング(削減)します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IDXGIDevice3 "{6007896C-3244-4AFD-BF18-A6D3BEDA5023}"
#usecom global IDXGIDevice3 IID_IDXGIDevice3 "{}"
#comfunc global IDXGIDevice3_Trim 17
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。