ホーム › Graphics.Direct3D11 › ID3D11DeviceChild
ID3D11DeviceChild
COMメソッド 4
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 void GetDevice(ID3D11Device** ppDevice)
| ppDevice | ID3D11Device** | out | このオブジェクトを作成したデバイスを受け取る ID3D11Device ポインタのアドレス。参照カウントが増える。 |
| guid | GUID* | in | 取得するプライベートデータを識別する GUID へのポインタ。 |
| pDataSize | DWORD* | inout | 入力でバッファサイズ、出力で実データサイズ(バイト)を受け渡す DWORD へのポインタ。 |
| pData | void* | outoptional | データを受け取るバッファへのポインタ。NULL でサイズのみ問い合わせる。 |
| guid | GUID* | in | 設定するプライベートデータを識別する GUID へのポインタ。 |
| DataSize | DWORD | in | 設定するデータのバイト数。0 で当該データを削除する。 |
| pData | void* | inoptional | 格納するデータの先頭を指すポインタ。NULL でデータを削除する。 |
| guid | GUID* | in | 関連付ける COM インターフェイスを識別する GUID へのポインタ。 |
| pData | IUnknown* | inoptional | 格納する IUnknown 派生インターフェイスへのポインタ。参照カウントが保持される。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ID3D11DeviceChild "{1841E5C8-16B0-489B-BCC8-44CFB0D5DEAE}" #usecom global ID3D11DeviceChild IID_ID3D11DeviceChild "{}" #comfunc global ID3D11DeviceChild_GetDevice 3 sptr #comfunc global ID3D11DeviceChild_GetPrivateData 4 var,var,sptr #comfunc global ID3D11DeviceChild_SetPrivateData 5 var,int,sptr #comfunc global ID3D11DeviceChild_SetPrivateDataInterface 6 var,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ID3D11DeviceChild "{1841E5C8-16B0-489B-BCC8-44CFB0D5DEAE}" #usecom global ID3D11DeviceChild IID_ID3D11DeviceChild "{}" #comfunc global ID3D11DeviceChild_GetDevice 3 sptr #comfunc global ID3D11DeviceChild_GetPrivateData 4 sptr,sptr,sptr #comfunc global ID3D11DeviceChild_SetPrivateData 5 sptr,int,sptr #comfunc global ID3D11DeviceChild_SetPrivateDataInterface 6 sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。