ESRIマップコントロールをMFC/C++で記述されたカスタムActiveXコントロールに埋め込んでいます。カスタムActiveXコントロールはマップコントロールラッパーとして機能するため、ランタイムのみで非リレーショナルの特定の環境に埋め込むことができます。このサイトのおかげで、フィーチャーポイントをメモリ内のワークスペースにロードすることができます。ただし、ホスティング環境は閉じたときにメモリにスタックするようになりました。これは、InMemoryWorkspaceFactoryを使用している場合にのみ行われます。したがって、私の結論は、ファクトリがファイルまたはリソースをロックし、それを解放しないことによって、ホスト環境が決して閉じない原因になっているということです。
ActiveXコントロールのWM_DESTROYメッセージ中にすべての機能と機能クラスを手動で削除してワークスペースを完全に解放する方法はありますか?IWorkspaceFactoryのCreateメソッドに対応するものはないようです。私のコードはワークスペースファクトリへのすべてのインターフェイスをリリースしていますが、ArcObjectsの内部にはまだ参照が残っているようです。