マーシャリング
プロセス境界だけでなく、同一プロセス内のCOMアパートメント境界やマネージド/ネイティブ境界のような呼び出し境界を越えて、引数や戻り値をやり取りできる形に詰め直すこと。
この概念が関わる関係
- COM LocalServer(別プロセスCOMサーバー)はマーシャリングを利用します。
- マーシャリングはProxy/Stubを利用します。
- COMアパートメントモデル(STA/MTA)はマーシャリングを前提とします。
- C++/CLIはマーシャリングを利用します。
- marshal_asはマーシャリングの実装を担います。
- Proxy/Stubはマーシャリングの実装を担います。
- Automationはマーシャリングの実装を担います。
この概念を扱う記事
- 32bitアプリから64bit DLLを呼ぶCOMブリッジ実例(言及)
- COM/OCX/ActiveX開発でハマる登録とbitnessの罠(言及)
- C#からネイティブDLLを呼ぶ:C++/CLIラッパー vs P/Invoke(言及)
- COM STA/MTA の基礎知識 - スレッドモデルとハングを避ける考え方(言及)
一次資料
- https://learn.microsoft.com/en-us/dotnet/standard/native-interop/cominterop
- https://learn.microsoft.com/en-us/cpp/dotnet/overview-of-marshaling-in-cpp?view=msvc-170
- https://learn.microsoft.com/windows/win32/com/com-apartments
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。