기타 마샬링 샘플
업데이트: 2007년 11월
가비지 수집 및 스레딩 같은 요소가 interop 마샬러의 동작에 영향을 줄 수 있습니다. 또한, 프로그래밍 및 형식 모델의 미세한 차이로 인해 관리되지 않는 라이브러리에 데이터를 전달하는 것이 혼란스러워질 수 있습니다. 이 단원에서는 이러한 차이점 일부를 다루는 몇 가지 샘플을 제공합니다.
다음 표에서는 다양한 항목 형식의 마샬링 옵션을 보여 주고 각 옵션의 용도에 대해 설명한 다음 해당 샘플의 링크를 제공합니다.
항목 형식 |
설명 |
샘플 |
---|---|---|
함수 포인터 |
함수 포인터를 필요로 하는 관리되지 않는 함수에 대리자를 전달합니다. |
|
HandleRef 구조체를 사용하여 가비지 수집이 발생하지 않도록 합니다. |
||
LPARAM |
GCHandle 구조체를 사용하여 LPARAM 형식을 필요로 하는 관리되지 않는 함수에 관리되는 개체를 전달합니다. |
|
STA(단일 스레드 아파트)/MTA(다중 스레드 아파트) |
관리되지 않는 함수에서 CoInitialize를 호출할 때의 기본 아파트 설정을 변경합니다. |
|
void* |
void*가 매개 변수로 포함된 함수를 호출합니다. |