ホーム › Graphics.Direct3D › ID3DShaderCacheInstallerFactory
ID3DShaderCacheInstallerFactory
COMメソッド 2
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT CreateInstaller(ID3DShaderCacheInstallerClient* pClient, GUID* riid, void** ppvInstaller)
| pClient | ID3DShaderCacheInstallerClient* | in | インストーラと連携するID3DShaderCacheInstallerClientコールバック。 |
| riid | GUID* | in | 取得するインストーラインターフェースのGUIDポインタ。 |
| ppvInstaller | void** | out | 生成したインストーラインターフェースを受け取る出力ポインタ。 |
| pUnknown | IUnknown* | in | エクスプローラ生成のコンテキストとして渡すIUnknown。NULL可。 |
| riid | GUID* | in | 取得するエクスプローラインターフェースのGUIDポインタ。 |
| ppvExplorer | void** | out | 生成したエクスプローラインターフェースを受け取る出力ポインタ。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ID3DShaderCacheInstallerFactory "{09B2DFE4-840F-401A-804C-0DD8AADC9E9F}" #usecom global ID3DShaderCacheInstallerFactory IID_ID3DShaderCacheInstallerFactory "{16195A0B-607C-41F1-BF03-C7694D60A8D4}" #comfunc global ID3DShaderCacheInstallerFactory_CreateInstaller 3 sptr,var,sptr #comfunc global ID3DShaderCacheInstallerFactory_CreateExplorer 4 sptr,var,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ID3DShaderCacheInstallerFactory "{09B2DFE4-840F-401A-804C-0DD8AADC9E9F}" #usecom global ID3DShaderCacheInstallerFactory IID_ID3DShaderCacheInstallerFactory "{16195A0B-607C-41F1-BF03-C7694D60A8D4}" #comfunc global ID3DShaderCacheInstallerFactory_CreateInstaller 3 sptr,sptr,sptr #comfunc global ID3DShaderCacheInstallerFactory_CreateExplorer 4 sptr,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。