반환값
부동 소수점은 사용할 수 없습니다.
매개 변수
blittable 형식의 마샬링만 지원합니다.
blittable 형식 -> 관리 및 네이티브 모두 메모리에서 동일하게 표현됨
blittable 형식이 아님 -> 메모리 변환 필요
blittable 형식만 있으므로 모든 개체는 고정되고 복사되지 않습니다.
예외: VB.NET에서 ByVal 문자열 전달
중첩된 개체는 메모리 변환이 필요하므로 마샬링할 수 없습니다(blittable 형식이 아님).
32비트 이하의 값 형식만 가능합니다.
값이 스택에 전달됩니다.
예외: float32
참조
blittable 참조 형식 전달
값 형식에 대한 참조 전달
이것은 float32를 전달하는 방법입니다.
값 배열 형식을 전달할 수 있습니다.
포인터를 첫 번째 개체로 가져오는 네이티브의 경우 개체는 예상할 수 있는 순서로 배치됩니다.
문자열은 특수한 전달 문자 배열 -> immutable
StringBuilder는 특수한 전달 문자 배열 -> mutable(길이를 별개로 전달해야 함)
참고: C# bool은 8비트이며 Win32 BOOL과 동일하지 않습니다.
정렬: 기본 컴파일러 정렬(4바이트)
Marshal.GetLastWin32Error는 GetLastError() 구문을 지원합니다.
지원 안 함:
MarshalAs: blittable이 아닌 형식은 지원 안 함
StructLayout: 레이아웃 변경 불가
대리자
DateTime
기본 호출 규약만 지원
.NET Compact Framework 팀, 2005년 1월 6일






46665
44
81










댓글을 달아 주세요