다음을 통해 공유


플랫폼 호출 지원

업데이트: 2007년 11월

플랫폼 호출은 관리 코드가, DLL로 구현되는 관리되지 않는 함수를 호출할 수 있는 서비스입니다. 플랫폼 호출을 의미상 전체 .NET Framework에서와 같은 방법으로 사용할 수 있지만 .NET Compact Framework에서는 관리 코드와 비관리 코드 사이에 마샬링할 수 있는 개체와 형식에 몇 가지 제한을 받습니다.

.NET Compact Framework 플랫폼 호출은 다음과 같은 세 부분으로 구성됩니다.

  1. 디자인 타임에, 개발자가 호출하려는 관리되지 않는 함수에 대한 설명을 제공합니다. 이 설명에는 모듈 이름(DLL 파일), 진입점 이름 및 호출 규칙이 포함됩니다.

  2. JIT(Just-In-Time) 컴파일 타임에 공용 언어 런타임에서는 메타데이터에서 이 정보를 추출하고, 함수가 들어 있는 DLL을 찾아 메모리에 로드한 다음 해당 함수의 주소를 검색합니다. 모듈 또는 함수를 찾을 수 없으면 공용 언어 런타임에서 MissingMethodException을 throw합니다.

  3. 런타임에, 공용 언어 런타임에서는 관리되는 형식에서 관리되지 않는 형식으로 매개 변수를 마샬링한 다음 관리되지 않는 함수를 호출합니다. 공용 언어 런타임에서는 메서드의 관리되는 선언을 기준으로 각 매개 변수를 마샬링하는 방법을 결정합니다.

단원 내용

관련 단원