最初の質問の時点で何がしたいのかすぐわかったが。
長すぎるんでポイントになる部分だけおいておく。

#define CINTERFACE
#include <d3d9.h>

DWORD OldProtect;
VirtualProtect(D3DDevice->lpVtbl, sizeof(IDirect3DDevice9Vtbl), PAGE_EXECUTE_READWRITE, &OldProtect);
D3DDevice->lpVtbl->EndScene = MyIDirect3DDevice9_EndScene;
VirtualProtect(D3DDevice->lpVtbl, sizeof(IDirect3DDevice9Vtbl), OldProtect, &OldProtect);