OleInitialize(STA)
OLEを使うためのCOM初期化。RegisterDragDropはこれで初期化していないとE_OUTOFMEMORYで失敗する。
- 概念URI
https://comcomponent.com/knowledge/oleinitialize-sta/
- 最終確認日
- 2026-08-01
- 機械可読データ
- JSON-LD
この概念が関わる関係
- .NETのClipboardクラスはOleInitialize(STA)を前提とします。.NETのClipboardクラスはSTAスレッドからしか使えず、MTAのバックグラウンドスレッドから触ると失敗する。WinForms/WPFのUIスレッドはSTAなので通常は問題なく、専用のSTAスレッドに逃がせばUIスレッド以外からも扱える。ネイティブのOpenClipboardにはこの制約はない。 / 確度: 確立した関係 / 確認日: 2026-08-22 出典 出典
- OLEドラッグ&ドロップはOleInitialize(STA)を前提とします。ドロップ先ウィンドウはRegisterDragDropで登録するが、CoInitialize/CoInitializeExで初期化しているとE_OUTOFMEMORYで必ず失敗し、OleInitializeでなければならない。呼び出しスレッドがメッセージポンプを回していることも必須で、怠るとドラッグ中の他アプリがハングする。 / 確度: 確立した関係 / 確認日: 2026-08-21 出典
この概念を扱う記事
一次資料
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。