IDirect3D9::CreateDevice
DX9 vtable[16] → HRESULT
IDirect3D9::CreateDevice is a method of the COM interface IDirect3D9 in Direct3D 9. Its function pointer sits at vtable index 16 — the zero-based slot in that interface's virtual method table, counted from QueryInterface and including every entry inherited from a base interface. It takes 6 parameters (Adapter, DeviceType, hFocusWindow, BehaviorFlags, pPresentationParameters, ppReturnedDeviceInterface) and returns HRESULT.
COM methods are reached through that table rather than by an exported name, so the slot index is what a wrapper, an interface hook or a disassembly listing has to resolve against. The parameter order and types below are the ones this interface declares.
Parameters (6)
| # | Name | Type |
|---|---|---|
| 0 | Adapter | UINT |
| 1 | DeviceType | D3DDEVTYPE |
| 2 | hFocusWindow | HWND |
| 3 | BehaviorFlags | DWORD |
| 4 | pPresentationParameters | D3DPRESENT_PARAMETERS* |
| 5 | ppReturnedDeviceInterface | struct IDirect3DDevice9** |