Win32 API 日本語リファレンス
ホームGraphics.DXCore › IDXCoreAdapter

IDXCoreAdapter

COM
IIDf0db4c7f-fe5a-42a2-bd62-f2a6cf6fc83e継承元IUnknown自前メソッド開始 vtbl3

メソッド 10

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 BOOLEAN IsValid()
vtbl 4 BOOLEAN IsAttributeSupported(GUID* attributeGUID)
attributeGUIDGUID*inサポート有無を問い合わせる属性を識別するGUIDである。
vtbl 5 BOOLEAN IsPropertySupported(DXCoreAdapterProperty property)
propertyDXCoreAdapterPropertyinサポート有無を問い合わせるプロパティを示すDXCoreAdapterPropertyである。
vtbl 6 HRESULT GetProperty(DXCoreAdapterProperty property, UINT_PTR bufferSize, void* propertyData)
propertyDXCoreAdapterPropertyin取得する対象プロパティを示すDXCoreAdapterPropertyである。
bufferSizeUINT_PTRinpropertyDataバッファのバイトサイズである。
propertyDatavoid*out取得したプロパティ値を受け取るバッファの出力先である。
vtbl 7 HRESULT GetPropertySize(DXCoreAdapterProperty property, UINT_PTR* bufferSize)
propertyDXCoreAdapterPropertyinサイズを取得する対象プロパティを示すDXCoreAdapterPropertyである。
bufferSizeUINT_PTR*outプロパティ値の必要バイトサイズを受け取る出力先である。
vtbl 8 BOOLEAN IsQueryStateSupported(DXCoreAdapterState property)
propertyDXCoreAdapterStateinQueryState対応有無を問い合わせる状態を示すDXCoreAdapterStateである。
vtbl 9 HRESULT QueryState(DXCoreAdapterState state, UINT_PTR inputStateDetailsSize, void* inputStateDetails, UINT_PTR outputBufferSize, void* outputBuffer)
stateDXCoreAdapterStatein問い合わせる対象状態を示すDXCoreAdapterStateである。
inputStateDetailsSizeUINT_PTRininputStateDetailsのバイトサイズである。
inputStateDetailsvoid*inoptional問い合わせに必要な入力詳細データである。不要ならNULL。
outputBufferSizeUINT_PTRinoutputBufferのバイトサイズである。
outputBuffervoid*out問い合わせ結果を受け取る出力バッファである。
vtbl 10 BOOLEAN IsSetStateSupported(DXCoreAdapterState property)
propertyDXCoreAdapterStateinSetState対応有無を問い合わせる状態を示すDXCoreAdapterStateである。
vtbl 11 HRESULT SetState(DXCoreAdapterState state, UINT_PTR inputStateDetailsSize, void* inputStateDetails, UINT_PTR inputDataSize, void* inputData)
stateDXCoreAdapterStatein設定する対象状態を示すDXCoreAdapterStateである。
inputStateDetailsSizeUINT_PTRininputStateDetailsのバイトサイズである。
inputStateDetailsvoid*inoptional設定対象を特定する入力詳細データである。不要ならNULL。
inputDataSizeUINT_PTRininputDataのバイトサイズである。
inputDatavoid*in設定する新しい状態値のデータである。
vtbl 12 HRESULT GetFactory(GUID* riid, void** ppvFactory)
riidGUID*in取得するファクトリインターフェイスを示すIIDである。
ppvFactoryvoid**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 指定が可能。