むむ・・・

COMインターフェースを使うのにInit_dxrubyでCoInitializeをしているのだが、CoUninitializeを呼び出すタイミングがrb_set_end_procだから、これもまずいんじゃないか。
こっちは全オブジェクトが解放されてから1回だけ実行しないといけないから、全部のDirectXインターフェースを取得しているところで参照カウンタを+して、解放してるとこで-して、0になったらCoUninitializeってしないといけないのか。
rb_set_end_procするまではDirectXGraphicsインターフェースはあるから、FontとTextureとSound系に実装すればいいかな。
ああ、オブジェクトを1つも作ってないとrb_set_end_procで解放になるんだな。
RubyDirectXは妙に苦労するなあ・・・。
rb_set_end_procじゃなくてほんとに最後に実行される関数って、普通ありそーなんだけどなんでないんだろ。
ていうかみんなこういう場合どうしてるんだ?