ホーム › Graphics.Direct3D11 › ID3D11Device2
ID3D11Device2
COMメソッド 4
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 50 void GetImmediateContext2(ID3D11DeviceContext2** ppImmediateContext)
| ppImmediateContext | ID3D11DeviceContext2** | out | ID3D11DeviceContext2版の即時コンテキストを受け取る。参照カウント増。 |
vtbl 51 HRESULT CreateDeferredContext2(DWORD ContextFlags, ID3D11DeviceContext2** ppDeferredContext)
| ContextFlags | DWORD | in | 予約フラグ。0を指定する。 |
| ppDeferredContext | ID3D11DeviceContext2** | outoptional | ID3D11DeviceContext2版の遅延コンテキストを受け取る。 |
vtbl 52 void GetResourceTiling(ID3D11Resource* pTiledResource, DWORD* pNumTilesForEntireResource, D3D11_PACKED_MIP_DESC* pPackedMipDesc, D3D11_TILE_SHAPE* pStandardTileShapeForNonPackedMips, DWORD* pNumSubresourceTilings, DWORD FirstSubresourceTilingToGet, D3D11_SUBRESOURCE_TILING* pSubresourceTilingsForNonPackedMips)
| pTiledResource | ID3D11Resource* | in | タイル情報を取得するリソース。 |
| pNumTilesForEntireResource | DWORD* | outoptional | リソース全体のタイル総数を受け取る。 |
| pPackedMipDesc | D3D11_PACKED_MIP_DESC* | outoptional | パックドミップ情報を受け取る。 |
| pStandardTileShapeForNonPackedMips | D3D11_TILE_SHAPE* | outoptional | 非パックミップの標準タイル形状を受け取る。 |
| pNumSubresourceTilings | DWORD* | inoutoptional | サブリソースタイリング数(入出力)。 |
| FirstSubresourceTilingToGet | DWORD | in | 取得を開始するサブリソースインデックス。 |
| pSubresourceTilingsForNonPackedMips | D3D11_SUBRESOURCE_TILING* | out | 各サブリソースのタイリング情報を受け取る配列。 |
vtbl 53 HRESULT CheckMultisampleQualityLevels1(DXGI_FORMAT Format, DWORD SampleCount, DWORD Flags, DWORD* pNumQualityLevels)
| Format | DXGI_FORMAT | in | 調べる形式(DXGI_FORMAT)。 |
| SampleCount | DWORD | in | サンプル数。 |
| Flags | DWORD | in | チェックフラグ(タイル化リソース等)。0可。 |
| pNumQualityLevels | DWORD* | out | 利用可能な品質レベル数を受け取る。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ID3D11Device2 "{9D06DFFA-D1E5-4D07-83A8-1BB123F2F841}" #usecom global ID3D11Device2 IID_ID3D11Device2 "{}" #comfunc global ID3D11Device2_GetImmediateContext2 50 sptr #comfunc global ID3D11Device2_CreateDeferredContext2 51 int,sptr #comfunc global ID3D11Device2_GetResourceTiling 52 sptr,var,var,var,var,int,var #comfunc global ID3D11Device2_CheckMultisampleQualityLevels1 53 int,int,int,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ID3D11Device2 "{9D06DFFA-D1E5-4D07-83A8-1BB123F2F841}" #usecom global ID3D11Device2 IID_ID3D11Device2 "{}" #comfunc global ID3D11Device2_GetImmediateContext2 50 sptr #comfunc global ID3D11Device2_CreateDeferredContext2 51 int,sptr #comfunc global ID3D11Device2_GetResourceTiling 52 sptr,sptr,sptr,sptr,sptr,int,sptr #comfunc global ID3D11Device2_CheckMultisampleQualityLevels1 53 int,int,int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。