ネタがないのでCOMの話。 IPictureDisp interface (COM) IPicture | Microsoft Docs ATLで作ったC++ COM DLLからC#(WPF)にBitmapデータを渡すプログラムを作ったのですが、どうやってBitmapデータを渡すかでとっても悩みました。 最終的にIPictureDispで行く決断をして失敗に終わったのですが、その過程。 まずC++でIPicture/IPictureDispを作成するには、画像ファイルからならOleLoadPictureAPIを、BitmapハンドルからならOleCreatePictureIndirectAPIを使います。OleCreatePictureIndirectの場合、インターフェースの解放時にBitmapハンドルも合わせて解放するかどうかが選択出来ます。が今回はC#側にデータを渡すのでC#側で破棄