解決…でも…

アンマネージオブジェクトでマネージオブジェクトの参照を持つ方法が見つかりました。

ネイティブ関数内にオブジェクト参照を保持する

らしいです。デリゲートとかも持てるので、無事にコールバックなりイベントなりのラッパーも書けるようになりました。(そのほかにもマネージオブジェクトが使えるので便利です)

で、Microsoft.DirectX.Direct3D.DeviceをIDirect3DDvice9*から生成すると…

うごかねぇでやんの!

…困ったなぁ〜