ID3D11Resource
COM公式ドキュメント
リソース インターフェイスは、すべてのリソースに共通の操作を提供します。 (ID3D11Resource)
解説(Remarks)
リソース インターフェイスを直接作成することはできません。代わりに、リソース インターフェイスを継承するバッファーやテクスチャを作成します。詳細については、頂点バッファーの作成方法、インデックス バッファーの作成方法、定数バッファーの作成方法、テクスチャの作成方法を参照してください。
メソッド 3
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
リソースの種類を取得します。 (ID3D11Resource.GetType)
| pResourceDimension | D3D11_RESOURCE_DIMENSION* | out | リソースの種類へのポインター (D3D11_RESOURCE_DIMENSION を参照)。 |
解説(Remarks)
Windows Phone 8: この API はサポートされています。
リソースの排出 (エビクション) 優先度を設定します。 (ID3D11Resource.SetEvictionPriority)
| EvictionPriority | DWORD | in | リソースの排出優先度。次の値のいずれかを指定します: |
解説(Remarks)
リソースの優先度は、システムのビデオ メモリが不足した際に、どのリソースをビデオ メモリから排出するかを決定します。リソースが失われるわけではなく、ビデオ メモリから取り除かれてシステム メモリに配置されるか、場合によってはハード ディスクに配置されます。必要になった時点で、リソースは再びビデオ メモリに読み込まれます。
最大優先度 DXGI_RESOURCE_PRIORITY_MAXIMUM が設定されたリソースは、要求されたメモリを確保する他の手段がない場合にのみ排出されます。Windows Display Driver Model (WDDM) は、要求されたメモリを最小単位に分割し、最大優先度のリソースを排出する前に、より低い優先度のリソースを排出しようとします。
リソースの優先度の変更は慎重に行ってください。不適切な排出優先度は、性能の向上ではなく低下を招くおそれがあります。
リソースの排出 (エビクション) 優先度を取得します。 (ID3D11Resource.GetEvictionPriority)
戻り値
型: UINT
リソースの排出優先度を示す、次の値のいずれか:
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_ID3D11Resource "{DC8E63F3-D12B-4952-B47B-5E45026A862D}" #usecom global ID3D11Resource IID_ID3D11Resource "{}" #comfunc global ID3D11Resource_GetType 7 var #comfunc global ID3D11Resource_SetEvictionPriority 8 int #comfunc global ID3D11Resource_GetEvictionPriority 9 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_ID3D11Resource "{DC8E63F3-D12B-4952-B47B-5E45026A862D}" #usecom global ID3D11Resource IID_ID3D11Resource "{}" #comfunc global ID3D11Resource_GetType 7 sptr #comfunc global ID3D11Resource_SetEvictionPriority 8 int #comfunc global ID3D11Resource_GetEvictionPriority 9 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。