マーシャリング
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>マネージドコードとアンマネージドコードのブリッジ]]
* 目次 [#j5603727]
#contents
*概要 [#u0002f12]
マイクロソフト技術書では、
-マネージ(.NET)・アンマネージ(C/C++)コード間の相互運用
-[[COM]]を使用したイン・プロセス呼び出し
-[[COM]]を使用した別・プロセス呼び出し
-DCOMを使用したリモート・サーバ呼び出し
における「データ変換」を指していることが多い。
*詳細 [#f5e14cba]
-マーシャリングの「Marshal」は、
--一般的には~
「鉄道 操車場」~
(分岐器、ハンプなどを経て目的の仕分線に送る設備。ヤード...
を意味するが、
--IT用語としては、~
COMなどで実装されていた「マーシャリング」を指し、~
アプリケーション ドメイン、プロセス、開発技術などの~
各境界を越えて、オブジェクトを転送する技術の総称
>である。
-開発技術の境界を越えるための技術としては、以下のものがあ...
--プロセス間・マシン間マーシャリング~
COM、DCOM、COM+でプロセス間・マシン間を超えて分散オブジェ...
--[[マネージドコードとアンマネージドコードのブリッジ]]~
---.NET型をWin32 DLLで使用可能なデータ型の引数に変換
---または、その逆。
**相互運用マーシャリング [#na8c2968]
マネージコード・アンマネージドコード間のデータ変換のこと。
C/C++と.NETでは当然メモリ上のデータの表現が異なる。
例えば、.NETでは、
-ポインタを直接扱うことができないし、
-オブジェクトはGC(ガベージコレクタ)などで管理されている。
なので、マネージコード・アンマネージドコード間のデータ変...
***プリミティブ型のマーシャリング [#b0acb811]
マネージ(.NET)からアンマネージ(C/C++)のDLLやCOMを呼び...
相互運用マーシャラーによって、マネージコード・アンマネー...
***構造体のマーシャリング [#wd525e6e]
Marshalクラスを使用して構造体のマーシャリングが可能。
構造体配列、構造体配列配列、構造体配列の階層構造など。
-Marshalクラス~
http://msdn.microsoft.com/ja-jp/library/system.runtime.in...
-CustomMarshalerクラス~
https://github.com/OpenTouryoProject/OpenTouryo/blob/deve...
構造体配列のマーシャリングを行う場合は、~
要素数などは別途引数などを用意して把握できるようにしてお...
***オブジェクトのマーシャリング [#q0ce6bd9]
-MSDN > .NET Frameworkクラス ライブラリ > MarshalByRefObj...
http://msdn.microsoft.com/ja-jp/library/system.marshalbyr...
**[[COM]] [#bfce287a]
***[[COM]]を使用したイン・プロセス呼び出し [#s729c730]
生成済みの[[STA]]の[[COM]]コンポーネントのポインタを使用...
マルチスレッド・クライアントから呼び出した場合、~
Windwosメッセージキューによって呼び出しが直列化される。~
これもマーシャリングの一種である。
***[[COM]]を使用した別・プロセス呼び出し [#i87c7299]
ローカル・プロセスの引数・戻り値のデータをリモート・プロ...
***DCOMを使用したリモート・サーバ呼び出し [#ze384a8b]
ローカル・プロセスの引数・戻り値のデータをリモート・サー...
***カスタムマーシャリング [#ea423189]
[[COM]]のカスタムマーシャリングを説明にするには、~
ADODB.Recordsetのマーシャリングなどが良いサンプルになる。
-ADODB.Recordsetのポインタを渡すとプロセス間を超えて、~
ADODB.Recordsetのオブジェクト階層がコピーされる。
-プロセスA、プロセスBでADODB.Recordsetのポインタが共有さ...
プロセスAでADODB.RecordsetにAddNewメソッドを呼び出し行を...
プロセス間を超えてプロセスBのADODB.Recordsetに行が追加さ...
また、カスタムマーシャリングを相互運用(マネージ型を [[CO...
*参考 [#t578d1d1]
-[[マーシャリング]]【marshalling】の意味 - 国語辞書 - goo...
http://dictionary.goo.ne.jp/leaf/jn2/206616/m0u/
-IT用語辞典バイナリ
--マネージコードとは 「マネージドコード」 (managed code)~
http://www.sophia-it.com/content/%E3%83%9E%E3%83%8D%E3%83...
--アンマネージドコードとは 「アンマネージコード」 (unmana...
http://www.sophia-it.com/content/%E3%82%A2%E3%83%B3%E3%83...
----
Tags: [[:Windows]], [[:プログラミング]], [[:.NET開発]]
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-[[戻る>マネージドコードとアンマネージドコードのブリッジ]]
* 目次 [#j5603727]
#contents
*概要 [#u0002f12]
マイクロソフト技術書では、
-マネージ(.NET)・アンマネージ(C/C++)コード間の相互運用
-[[COM]]を使用したイン・プロセス呼び出し
-[[COM]]を使用した別・プロセス呼び出し
-DCOMを使用したリモート・サーバ呼び出し
における「データ変換」を指していることが多い。
*詳細 [#f5e14cba]
-マーシャリングの「Marshal」は、
--一般的には~
「鉄道 操車場」~
(分岐器、ハンプなどを経て目的の仕分線に送る設備。ヤード...
を意味するが、
--IT用語としては、~
COMなどで実装されていた「マーシャリング」を指し、~
アプリケーション ドメイン、プロセス、開発技術などの~
各境界を越えて、オブジェクトを転送する技術の総称
>である。
-開発技術の境界を越えるための技術としては、以下のものがあ...
--プロセス間・マシン間マーシャリング~
COM、DCOM、COM+でプロセス間・マシン間を超えて分散オブジェ...
--[[マネージドコードとアンマネージドコードのブリッジ]]~
---.NET型をWin32 DLLで使用可能なデータ型の引数に変換
---または、その逆。
**相互運用マーシャリング [#na8c2968]
マネージコード・アンマネージドコード間のデータ変換のこと。
C/C++と.NETでは当然メモリ上のデータの表現が異なる。
例えば、.NETでは、
-ポインタを直接扱うことができないし、
-オブジェクトはGC(ガベージコレクタ)などで管理されている。
なので、マネージコード・アンマネージドコード間のデータ変...
***プリミティブ型のマーシャリング [#b0acb811]
マネージ(.NET)からアンマネージ(C/C++)のDLLやCOMを呼び...
相互運用マーシャラーによって、マネージコード・アンマネー...
***構造体のマーシャリング [#wd525e6e]
Marshalクラスを使用して構造体のマーシャリングが可能。
構造体配列、構造体配列配列、構造体配列の階層構造など。
-Marshalクラス~
http://msdn.microsoft.com/ja-jp/library/system.runtime.in...
-CustomMarshalerクラス~
https://github.com/OpenTouryoProject/OpenTouryo/blob/deve...
構造体配列のマーシャリングを行う場合は、~
要素数などは別途引数などを用意して把握できるようにしてお...
***オブジェクトのマーシャリング [#q0ce6bd9]
-MSDN > .NET Frameworkクラス ライブラリ > MarshalByRefObj...
http://msdn.microsoft.com/ja-jp/library/system.marshalbyr...
**[[COM]] [#bfce287a]
***[[COM]]を使用したイン・プロセス呼び出し [#s729c730]
生成済みの[[STA]]の[[COM]]コンポーネントのポインタを使用...
マルチスレッド・クライアントから呼び出した場合、~
Windwosメッセージキューによって呼び出しが直列化される。~
これもマーシャリングの一種である。
***[[COM]]を使用した別・プロセス呼び出し [#i87c7299]
ローカル・プロセスの引数・戻り値のデータをリモート・プロ...
***DCOMを使用したリモート・サーバ呼び出し [#ze384a8b]
ローカル・プロセスの引数・戻り値のデータをリモート・サー...
***カスタムマーシャリング [#ea423189]
[[COM]]のカスタムマーシャリングを説明にするには、~
ADODB.Recordsetのマーシャリングなどが良いサンプルになる。
-ADODB.Recordsetのポインタを渡すとプロセス間を超えて、~
ADODB.Recordsetのオブジェクト階層がコピーされる。
-プロセスA、プロセスBでADODB.Recordsetのポインタが共有さ...
プロセスAでADODB.RecordsetにAddNewメソッドを呼び出し行を...
プロセス間を超えてプロセスBのADODB.Recordsetに行が追加さ...
また、カスタムマーシャリングを相互運用(マネージ型を [[CO...
*参考 [#t578d1d1]
-[[マーシャリング]]【marshalling】の意味 - 国語辞書 - goo...
http://dictionary.goo.ne.jp/leaf/jn2/206616/m0u/
-IT用語辞典バイナリ
--マネージコードとは 「マネージドコード」 (managed code)~
http://www.sophia-it.com/content/%E3%83%9E%E3%83%8D%E3%83...
--アンマネージドコードとは 「アンマネージコード」 (unmana...
http://www.sophia-it.com/content/%E3%82%A2%E3%83%B3%E3%83...
----
Tags: [[:Windows]], [[:プログラミング]], [[:.NET開発]]
ページ名: