ホーム › Graphics.Direct3D12 › ID3D12SDKConfiguration1
ID3D12SDKConfiguration1
COMメソッド 2
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| SDKVersion | DWORD | in | 使用するD3D12 SDKのバージョン番号を示すDWORD値。 |
| SDKPath | LPSTR | in | SDKバイナリが置かれたディレクトリパスを示すLPSTR(ANSI文字列)。 |
| riid | GUID* | in | 取得するデバイスファクトリーインターフェイスのGUIDへのポインター。 |
| ppvFactory | void** | out | 生成されたデバイスファクトリーインターフェイスを受け取る出力ポインター。 |
vtbl 5 void FreeUnusedSDKs()
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ID3D12SDKConfiguration1 "{8AAF9303-AD25-48B9-9A57-D9C37E009D9F}" #usecom global ID3D12SDKConfiguration1 IID_ID3D12SDKConfiguration1 "{7CDA6ACA-A03E-49C8-9458-0334D20E07CE}" #comfunc global ID3D12SDKConfiguration1_CreateDeviceFactory 4 int,str,var,sptr #comfunc global ID3D12SDKConfiguration1_FreeUnusedSDKs 5 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ID3D12SDKConfiguration1 "{8AAF9303-AD25-48B9-9A57-D9C37E009D9F}" #usecom global ID3D12SDKConfiguration1 IID_ID3D12SDKConfiguration1 "{7CDA6ACA-A03E-49C8-9458-0334D20E07CE}" #comfunc global ID3D12SDKConfiguration1_CreateDeviceFactory 4 int,str,sptr,sptr #comfunc global ID3D12SDKConfiguration1_FreeUnusedSDKs 5 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。