0

Direct3Dをいじっています-デバイスオブジェクトのvtableエントリを変更して、提供された関数の代わりに関数が呼び出されるようにします。これはほとんど機能しているにもかかわらず、ある時点で何かがIDirect3DDevice9vtableを復元することに気づきました。たとえばID3DXFont::DrawText、最初の呼び出しです。下の人はそれに触れないでください。

なぜこれが起こるのですか?

4

1 に答える 1

0

vtable の変更は、ほとんど未定義の動作です。vtable のキャッシュまたは別のコピーがある可能性があります。それはすべて実装に依存します。あなたはそれがまったくうまくいく幸運です!

于 2011-08-13T23:45:10.193 に答える