ホーム › Graphics.Direct3D9 › IDirect3D9Ex
IDirect3D9Ex
COMメソッド 5
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 17 DWORD GetAdapterModeCountEx(DWORD Adapter, D3DDISPLAYMODEFILTER* pFilter)
| Adapter | DWORD | in | 対象アダプタの序数。 |
| pFilter | D3DDISPLAYMODEFILTER* | in | 列挙条件を指定するD3DDISPLAYMODEFILTERへのポインタ。 |
vtbl 18 HRESULT EnumAdapterModesEx(DWORD Adapter, D3DDISPLAYMODEFILTER* pFilter, DWORD Mode, D3DDISPLAYMODEEX* pMode)
| Adapter | DWORD | in | 対象アダプタの序数。 |
| pFilter | D3DDISPLAYMODEFILTER* | in | 列挙条件を指定するD3DDISPLAYMODEFILTERへのポインタ。 |
| Mode | DWORD | in | 取得するモードの0始まりのインデックス。 |
| pMode | D3DDISPLAYMODEEX* | inout | 拡張表示モード情報を受け取るD3DDISPLAYMODEEXへのポインタ。 |
vtbl 19 HRESULT GetAdapterDisplayModeEx(DWORD Adapter, D3DDISPLAYMODEEX* pMode, D3DDISPLAYROTATION* pRotation)
| Adapter | DWORD | in | 対象アダプタの序数。 |
| pMode | D3DDISPLAYMODEEX* | inout | 現在の拡張表示モードを受け取るD3DDISPLAYMODEEXへのポインタ。NULL可。 |
| pRotation | D3DDISPLAYROTATION* | inout | 現在の画面回転状態を受け取るD3DDISPLAYROTATIONポインタ。NULL可。 |
vtbl 20 HRESULT CreateDeviceEx(DWORD Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS* pPresentationParameters, D3DDISPLAYMODEEX* pFullscreenDisplayMode, IDirect3DDevice9Ex** ppReturnedDeviceInterface)
| Adapter | DWORD | in | デバイスを作成するアダプタの序数。 |
| DeviceType | D3DDEVTYPE | in | 作成するデバイスの種別を示すD3DDEVTYPE。 |
| hFocusWindow | HWND | in | フォーカスウィンドウのハンドル。 |
| BehaviorFlags | DWORD | in | 動作を指定するフラグ。頂点処理方式などを含む。 |
| pPresentationParameters | D3DPRESENT_PARAMETERS* | inout | プレゼンテーション設定を記述するD3DPRESENT_PARAMETERSへのポインタ。 |
| pFullscreenDisplayMode | D3DDISPLAYMODEEX* | inout | 全画面時の表示モードを示すD3DDISPLAYMODEEXへのポインタ。ウィンドウ時NULL。 |
| ppReturnedDeviceInterface | IDirect3DDevice9Ex** | out | 作成されたIDirect3DDevice9Exのポインタを受け取る出力。 |
| Adapter | DWORD | in | 対象アダプタの序数。 |
| pLUID | LUID* | inout | アダプタのローカル一意識別子(LUID)を受け取るポインタ。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IDirect3D9Ex "{02177241-69FC-400C-8FF1-93A44DF6861D}" #usecom global IDirect3D9Ex IID_IDirect3D9Ex "{}" #comfunc global IDirect3D9Ex_GetAdapterModeCountEx 17 int,var #comfunc global IDirect3D9Ex_EnumAdapterModesEx 18 int,var,int,var #comfunc global IDirect3D9Ex_GetAdapterDisplayModeEx 19 int,var,var #comfunc global IDirect3D9Ex_CreateDeviceEx 20 int,int,sptr,int,var,var,sptr #comfunc global IDirect3D9Ex_GetAdapterLUID 21 int,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IDirect3D9Ex "{02177241-69FC-400C-8FF1-93A44DF6861D}" #usecom global IDirect3D9Ex IID_IDirect3D9Ex "{}" #comfunc global IDirect3D9Ex_GetAdapterModeCountEx 17 int,sptr #comfunc global IDirect3D9Ex_EnumAdapterModesEx 18 int,sptr,int,sptr #comfunc global IDirect3D9Ex_GetAdapterDisplayModeEx 19 int,sptr,sptr #comfunc global IDirect3D9Ex_CreateDeviceEx 20 int,int,sptr,int,sptr,sptr,sptr #comfunc global IDirect3D9Ex_GetAdapterLUID 21 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。