MarshalAsAttribute 특성 사용
업데이트: 2007년 11월
MarshalAsAttribute 특성을 사용하여 마샬링 동작을 사용자 지정할 수 있습니다. 예를 들어, 아래와 같은 작업을 수행할 수 있습니다.
배열과 문자열을 구조체로 마샬링합니다.
일반적인 COM Interop 시나리오를 지원하는 데 필요한 유연성을 제공합니다.
플랫폼 호출 및 vtable 마샬러를 통해 IDispatch 마샬러에 비해 일관된 마샬링 형식을 제공합니다.
다음 표에서는 UnmanagedType 열거형의 값에 대한 마샬링 지원을 설명합니다.
관리되지 않는 형식 |
올바른 형식 |
지원되는 구조체 |
---|---|---|
BStr, TBStr |
||
LPWStr, LPStr, LPTStr |
예 |
|
IUnknown |
예 |
|
IDispatch |
예 |
|
ByValTStr |
String(구조체에만 해당) |
예 |
ByValArray |
모든 배열 |
예 |
SafeArray |
모든 배열 |
예 |
VBByRefStr |
||
Bool |
정수 형식 |
|
I1, I2, I4 |
적절한 길이의 정수 형식 |
|
U1, U2, U4 |
적절한 길이의 부호 없는 정수 형식 |
|
I8 |
N/A |
|
U8 |
N/A |
|
R4 |
4바이트 실수 |
|
R8 |
8바이트 실수 |
|
Struct |
||
Interface |
||
SysInt, SysUInt |
적절한 부호 및 길이의 정수 형식 |
|
AnsiBStr |
N/A |
|
VariantBool |
||
FunctionPtr |
N/A |
|
AsAny |
N/A |
|
LPArray |
N/A |
|
LPStruct |
N/A |
|
Error |
4바이트 정수 |
|
Currency |