ホーム › Graphics.DXCore › IDXCoreAdapter
IDXCoreAdapter
COMメソッド 10
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 BOOLEAN IsValid()
vtbl 4 BOOLEAN IsAttributeSupported(GUID* attributeGUID)
| attributeGUID | GUID* | in | サポート有無を問い合わせる属性を識別するGUIDである。 |
vtbl 5 BOOLEAN IsPropertySupported(DXCoreAdapterProperty property)
| property | DXCoreAdapterProperty | in | サポート有無を問い合わせるプロパティを示すDXCoreAdapterPropertyである。 |
vtbl 6 HRESULT GetProperty(DXCoreAdapterProperty property, UINT_PTR bufferSize, void* propertyData)
| property | DXCoreAdapterProperty | in | 取得する対象プロパティを示すDXCoreAdapterPropertyである。 |
| bufferSize | UINT_PTR | in | propertyDataバッファのバイトサイズである。 |
| propertyData | void* | out | 取得したプロパティ値を受け取るバッファの出力先である。 |
vtbl 7 HRESULT GetPropertySize(DXCoreAdapterProperty property, UINT_PTR* bufferSize)
| property | DXCoreAdapterProperty | in | サイズを取得する対象プロパティを示すDXCoreAdapterPropertyである。 |
| bufferSize | UINT_PTR* | out | プロパティ値の必要バイトサイズを受け取る出力先である。 |
vtbl 8 BOOLEAN IsQueryStateSupported(DXCoreAdapterState property)
| property | DXCoreAdapterState | in | QueryState対応有無を問い合わせる状態を示すDXCoreAdapterStateである。 |
vtbl 9 HRESULT QueryState(DXCoreAdapterState state, UINT_PTR inputStateDetailsSize, void* inputStateDetails, UINT_PTR outputBufferSize, void* outputBuffer)
| state | DXCoreAdapterState | in | 問い合わせる対象状態を示すDXCoreAdapterStateである。 |
| inputStateDetailsSize | UINT_PTR | in | inputStateDetailsのバイトサイズである。 |
| inputStateDetails | void* | inoptional | 問い合わせに必要な入力詳細データである。不要ならNULL。 |
| outputBufferSize | UINT_PTR | in | outputBufferのバイトサイズである。 |
| outputBuffer | void* | out | 問い合わせ結果を受け取る出力バッファである。 |
vtbl 10 BOOLEAN IsSetStateSupported(DXCoreAdapterState property)
| property | DXCoreAdapterState | in | SetState対応有無を問い合わせる状態を示すDXCoreAdapterStateである。 |
vtbl 11 HRESULT SetState(DXCoreAdapterState state, UINT_PTR inputStateDetailsSize, void* inputStateDetails, UINT_PTR inputDataSize, void* inputData)
| state | DXCoreAdapterState | in | 設定する対象状態を示すDXCoreAdapterStateである。 |
| inputStateDetailsSize | UINT_PTR | in | inputStateDetailsのバイトサイズである。 |
| inputStateDetails | void* | inoptional | 設定対象を特定する入力詳細データである。不要ならNULL。 |
| inputDataSize | UINT_PTR | in | inputDataのバイトサイズである。 |
| inputData | void* | in | 設定する新しい状態値のデータである。 |
vtbl 12 HRESULT GetFactory(GUID* riid, void** ppvFactory)
| riid | GUID* | in | 取得するファクトリインターフェイスを示すIIDである。 |
| ppvFactory | void** | out | このアダプターを生成したファクトリを受け取る出力先である。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IDXCoreAdapter "{F0DB4C7F-FE5A-42A2-BD62-F2A6CF6FC83E}" #usecom global IDXCoreAdapter IID_IDXCoreAdapter "{}" #comfunc global IDXCoreAdapter_IsValid 3 #comfunc global IDXCoreAdapter_IsAttributeSupported 4 var #comfunc global IDXCoreAdapter_IsPropertySupported 5 int #comfunc global IDXCoreAdapter_GetProperty 6 int,sptr,sptr #comfunc global IDXCoreAdapter_GetPropertySize 7 int,var #comfunc global IDXCoreAdapter_IsQueryStateSupported 8 int #comfunc global IDXCoreAdapter_QueryState 9 int,sptr,sptr,sptr,sptr #comfunc global IDXCoreAdapter_IsSetStateSupported 10 int #comfunc global IDXCoreAdapter_SetState 11 int,sptr,sptr,sptr,sptr #comfunc global IDXCoreAdapter_GetFactory 12 var,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IDXCoreAdapter "{F0DB4C7F-FE5A-42A2-BD62-F2A6CF6FC83E}" #usecom global IDXCoreAdapter IID_IDXCoreAdapter "{}" #comfunc global IDXCoreAdapter_IsValid 3 #comfunc global IDXCoreAdapter_IsAttributeSupported 4 sptr #comfunc global IDXCoreAdapter_IsPropertySupported 5 int #comfunc global IDXCoreAdapter_GetProperty 6 int,sptr,sptr #comfunc global IDXCoreAdapter_GetPropertySize 7 int,sptr #comfunc global IDXCoreAdapter_IsQueryStateSupported 8 int #comfunc global IDXCoreAdapter_QueryState 9 int,sptr,sptr,sptr,sptr #comfunc global IDXCoreAdapter_IsSetStateSupported 10 int #comfunc global IDXCoreAdapter_SetState 11 int,sptr,sptr,sptr,sptr #comfunc global IDXCoreAdapter_GetFactory 12 sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。