Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Direct3Dをいじっています-デバイスオブジェクトのvtableエントリを変更して、提供された関数の代わりに関数が呼び出されるようにします。これはほとんど機能しているにもかかわらず、ある時点で何かがIDirect3DDevice9vtableを復元することに気づきました。たとえばID3DXFont::DrawText、最初の呼び出しです。下の人はそれに触れないでください。
IDirect3DDevice9
ID3DXFont::DrawText
なぜこれが起こるのですか?
vtable の変更は、ほとんど未定義の動作です。vtable のキャッシュまたは別のコピーがある可能性があります。それはすべて実装に依存します。あなたはそれがまったくうまくいく幸運です!