MarshalAsAttribute 属性の使用方法
更新 : 2007 年 11 月
MarshalAsAttribute 属性を使用して、マーシャリングの動作をカスタマイズできます。たとえば、次のタスクを実行できます。
構造体での配列と文字列のマーシャリング
一般的な COM 相互運用シナリオをサポートするために必要な柔軟性を備えること
IDispatch マーシャラと比較して、プラットフォーム呼び出しと vtable マーシャラによってマーシャリングの型に一貫性を持たせること
UnmanagedType 列挙型の値について、マーシャリングのサポートを次の表に示します。
アンマネージ型 |
有効な型 |
構造体でのサポート |
---|---|---|
BStr, TBStr |
||
LPWStr, LPStr, LPTStr |
○ |
|
IUnknown |
○ |
|
IDispatch |
○ |
|
ByValTStr |
String (構造体でのみ) |
○ |
ByValArray |
任意の配列 |
○ |
SafeArray |
任意の配列 |
○ |
VBByRefStr |
||
Bool |
整数型 |
|
I1, I2, I4 |
適切な長さの整数型 |
|
U1, U2, U4 |
適切な長さの符号なし整数型 |
|
I8 |
なし |
|
U8 |
なし |
|
R4 |
4 バイトの実数 |
|
R8 |
8 バイトの実数 |
|
Struct |
||
Interface |
||
SysInt, SysUInt |
適切な符号と長さの整数型 |
|
AnsiBStr |
なし |
|
VariantBool |
||
FunctionPtr |
なし |
|
AsAny |
なし |
|
LPArray |
なし |
|
LPStruct |
なし |
|
Error |
4 バイトの整数型 |
|
Currency |