플랫폼 호출 지원
업데이트: 2007년 11월
플랫폼 호출은 관리 코드가, DLL로 구현되는 관리되지 않는 함수를 호출할 수 있는 서비스입니다. 플랫폼 호출을 의미상 전체 .NET Framework에서와 같은 방법으로 사용할 수 있지만 .NET Compact Framework에서는 관리 코드와 비관리 코드 사이에 마샬링할 수 있는 개체와 형식에 몇 가지 제한을 받습니다.
.NET Compact Framework 플랫폼 호출은 다음과 같은 세 부분으로 구성됩니다.
디자인 타임에, 개발자가 호출하려는 관리되지 않는 함수에 대한 설명을 제공합니다. 이 설명에는 모듈 이름(DLL 파일), 진입점 이름 및 호출 규칙이 포함됩니다.
JIT(Just-In-Time) 컴파일 타임에 공용 언어 런타임에서는 메타데이터에서 이 정보를 추출하고, 함수가 들어 있는 DLL을 찾아 메모리에 로드한 다음 해당 함수의 주소를 검색합니다. 모듈 또는 함수를 찾을 수 없으면 공용 언어 런타임에서 MissingMethodException을 throw합니다.
런타임에, 공용 언어 런타임에서는 관리되는 형식에서 관리되지 않는 형식으로 매개 변수를 마샬링한 다음 관리되지 않는 함수를 호출합니다. 공용 언어 런타임에서는 메서드의 관리되는 선언을 기준으로 각 매개 변수를 마샬링하는 방법을 결정합니다.
단원 내용
DllImportAttribute에 지원되는 필드
DllImportAttribute 클래스에 사용할 수 있는 필드 하위 집합을 나열합니다.플랫폼 호출 래퍼 예제
플랫폼 호출을 수행하는 데 필요한 구조를 제공하는 코드 예제를 보여 줍니다.
관련 단원
Interop 마샬링 지원
.NET Compact Framework에서 관리 코드와 비관리 코드 간에 데이터 형식을 마샬링하는 작업의 차이점에 대해 설명합니다.방법: 장치 플랫폼 가져오기
방법 항목에서는 플랫폼 호출 사용 방법을 보여 줍니다.