본문 바로가기
카테고리 없음

[C#] MFC LPCTSTR 반환 함수 C#에서 변환 방법

by Hwoarang757 2025. 1. 14.

함수의 원형은 이렇게 되어있는 상황입니다.

LPCTSTR      GetImageFileName(DevMode* pDevMode);

 

C# 에서는 DllImport를 사용할 시에 반환 값을 string이 아닌 IntPtr로 선언해야 오류가 발생하지 않았습니다.!

(오류가 발생하는 상황에서는 try,catch로 감싸도 프로세스가 종료 되버리네요..)

[DllImport("Component.dll", EntryPoint = "GetImageFileName", CharSet = CharSet.Unicode)]
private static extern IntPtr GetImageFileName(IntPtr lpDevmode);


public string GetImageFileName(string printerName)
{
        IntPtr intPtr = GetImageFileName(lpDevMode);		
        
        string imageFileName = Marshal.PtrToStringAuto(intPtr);
}

 

Marshal.PtrToStringAuto(IntPtr); 로 string을 획득 하였습니다.