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

IDXCoreAdapterFactory

COM
IID78ee5945-c36e-4b13-a669-005dd11c0f06継承元IUnknown自前メソッド開始 vtbl3

メソッド 5

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

vtbl 3 HRESULT CreateAdapterList(DWORD numAttributes, GUID* filterAttributes, GUID* riid, void** ppvAdapterList)
numAttributesDWORDinfilterAttributes配列の要素数である。
filterAttributesGUID*in対象を絞り込む属性GUIDの配列である。
riidGUID*in取得するアダプターリストインターフェイスを示すIIDである。
ppvAdapterListvoid**out生成されたアダプターリストを受け取る出力先である。
vtbl 4 HRESULT GetAdapterByLuid(LUID* adapterLUID, GUID* riid, void** ppvAdapter)
adapterLUIDLUID*in取得対象アダプターを識別するLUIDである。
riidGUID*in取得するアダプターインターフェイスを示すIIDである。
ppvAdaptervoid**out取得したアダプターを受け取る出力先である。
vtbl 5 BOOLEAN IsNotificationTypeSupported(DXCoreNotificationType notificationType)
notificationTypeDXCoreNotificationTypeinサポート有無を問い合わせる通知種別を示すDXCoreNotificationTypeである。
vtbl 6 HRESULT RegisterEventNotification(IUnknown* dxCoreObject, DXCoreNotificationType notificationType, PFN_DXCORE_NOTIFICATION_CALLBACK callbackFunction, void* callbackContext, DWORD* eventCookie)
dxCoreObjectIUnknown*in通知の監視対象となるDXCoreオブジェクトである。
notificationTypeDXCoreNotificationTypein登録する通知種別を示すDXCoreNotificationTypeである。
callbackFunctionPFN_DXCORE_NOTIFICATION_CALLBACKin通知発生時に呼ばれるコールバック関数ポインタである。
callbackContextvoid*inoptionalコールバックへ渡されるアプリ定義のコンテキストである。NULL可。
eventCookieDWORD*out登録解除に用いる識別クッキーを受け取る出力先である。
vtbl 7 HRESULT UnregisterEventNotification(DWORD eventCookie)
eventCookieDWORDinRegisterEventNotificationで取得したクッキー。対応する通知登録を解除する。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IDXCoreAdapterFactory "{78EE5945-C36E-4B13-A669-005DD11C0F06}"
#usecom global IDXCoreAdapterFactory IID_IDXCoreAdapterFactory "{}"
#comfunc global IDXCoreAdapterFactory_CreateAdapterList            3 int,var,var,sptr
#comfunc global IDXCoreAdapterFactory_GetAdapterByLuid             4 var,var,sptr
#comfunc global IDXCoreAdapterFactory_IsNotificationTypeSupported  5 int
#comfunc global IDXCoreAdapterFactory_RegisterEventNotification    6 sptr,int,sptr,sptr,var
#comfunc global IDXCoreAdapterFactory_UnregisterEventNotification  7 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。