ホーム › Graphics.DXCore › IDXCoreAdapterList
IDXCoreAdapterList
COMメソッド 6
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| index | DWORD | in | 取得する対象アダプターのインデックスである。 |
| riid | GUID* | in | 取得するアダプターインターフェイスを示すIIDである。 |
| ppvAdapter | void** | out | 取得したアダプターオブジェクトを受け取る出力先である。 |
vtbl 4 DWORD GetAdapterCount()
vtbl 5 BOOLEAN IsStale()
vtbl 6 HRESULT GetFactory(GUID* riid, void** ppvFactory)
| riid | GUID* | in | 取得するファクトリインターフェイスを示すIIDである。 |
| ppvFactory | void** | out | このリストを生成したファクトリを受け取る出力先である。 |
vtbl 7 HRESULT Sort(DWORD numPreferences, DXCoreAdapterPreference* preferences)
| numPreferences | DWORD | in | preferences配列の要素数である。 |
| preferences | DXCoreAdapterPreference* | in | 並べ替えの優先基準を示すDXCoreAdapterPreference配列である。 |
vtbl 8 BOOLEAN IsAdapterPreferenceSupported(DXCoreAdapterPreference preference)
| preference | DXCoreAdapterPreference | in | サポート有無を問い合わせる並べ替え基準を示すDXCoreAdapterPreferenceである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IDXCoreAdapterList "{526C7776-40E9-459B-B711-F32AD76DFC28}" #usecom global IDXCoreAdapterList IID_IDXCoreAdapterList "{}" #comfunc global IDXCoreAdapterList_GetAdapter 3 int,var,sptr #comfunc global IDXCoreAdapterList_GetAdapterCount 4 #comfunc global IDXCoreAdapterList_IsStale 5 #comfunc global IDXCoreAdapterList_GetFactory 6 var,sptr #comfunc global IDXCoreAdapterList_Sort 7 int,var #comfunc global IDXCoreAdapterList_IsAdapterPreferenceSupported 8 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IDXCoreAdapterList "{526C7776-40E9-459B-B711-F32AD76DFC28}" #usecom global IDXCoreAdapterList IID_IDXCoreAdapterList "{}" #comfunc global IDXCoreAdapterList_GetAdapter 3 int,sptr,sptr #comfunc global IDXCoreAdapterList_GetAdapterCount 4 #comfunc global IDXCoreAdapterList_IsStale 5 #comfunc global IDXCoreAdapterList_GetFactory 6 sptr,sptr #comfunc global IDXCoreAdapterList_Sort 7 int,sptr #comfunc global IDXCoreAdapterList_IsAdapterPreferenceSupported 8 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。