Win32 API 日本語リファレンス
ホームGraphics.Dxgi › IDXGIResource

IDXGIResource

COM
IID035f3ab4-482e-4e50-b41f-8a7f8bd8960b継承元IDXGIDeviceSubObject自前メソッド開始 vtbl8

メソッド 4

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 8 HRESULT GetSharedHandle(HANDLE* pSharedHandle)
pSharedHandleHANDLE*outリソースの共有ハンドルを受け取る出力先(HANDLE*)である。
vtbl 9 HRESULT GetUsage(DXGI_USAGE* pUsage)
pUsageDXGI_USAGE*outリソースの使用方法を示すDXGI_USAGEフラグを受け取る出力先である。
vtbl 10 HRESULT SetEvictionPriority(DXGI_RESOURCE_PRIORITY EvictionPriority)
EvictionPriorityDXGI_RESOURCE_PRIORITYinメモリからの退避優先度(DXGI_RESOURCE_PRIORITYの値、MINIMUM〜MAXIMUM)を指定する。
vtbl 11 HRESULT GetEvictionPriority(DXGI_RESOURCE_PRIORITY* pEvictionPriority)
pEvictionPriorityDXGI_RESOURCE_PRIORITY*out現在の退避優先度(DXGI_RESOURCE_PRIORITY)を受け取る出力先である。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IDXGIResource "{035F3AB4-482E-4E50-B41F-8A7F8BD8960B}"
#usecom global IDXGIResource IID_IDXGIResource "{}"
#comfunc global IDXGIResource_GetSharedHandle      8 sptr
#comfunc global IDXGIResource_GetUsage             9 var
#comfunc global IDXGIResource_SetEvictionPriority  10 int
#comfunc global IDXGIResource_GetEvictionPriority  11 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。