これらのクリップボード形式を使用して、アプリから Windows エクスプローラーにデータをファイルとして直接貼り付けることができます。
私の実装では MFC クラス COleDataSource を使用していますが、これは IDataObject や OleSetClipboard などの API の単なるラッパーです。
アプリが終了すると、IDataObject (つまり、 COleDataSource から派生したクラス) のローカル実装がなくなるので、COleDataSource::FlushClipboard を呼び出します。これにより、現在のすべてのデータのコピーがクリップボードに配置され (遅延レンダリングされたコンテンツも含む)、アプリが終了した後に使用できるようになります。
これは CF_TEXT のような単純な形式で機能しますが、CFSTR_FILECONTENTS 形式は機能しなくなりました。Windows エクスプローラーには [貼り付け] メニュー項目がありますが、貼り付けようとすると、標準のメッセージ ビープ音が鳴り、何も起こりません。
これを機能させることは可能ですか、それとも CFSTR_FILECONTENTS は元の IDataObject 実装がまだアクティブであるかに依存していますか?