C#에서 winscard.dll 메서드를 호출 중이며 모든 것이 디버그 모드에서 정상적으로 작동하고 있습니다. 내가 무엇입니까 문제SCardEstablishContext가 해제 모드에서 컨텍스트 포인터를 설정하지 않습니다.
릴리스 모드에서 컨텍스트를 설정하는 내 호출입니다 나는 이것을 pntContext 변수가 디버그 모드에서 제대로 설정 얻을 나타납니다 호출 할 때 내 테스트 응용 프로그램에서
[DllImport("winscard.dll")]
public static extern int SCardEstablishContext(int dwScope, int pvReserved1, int pvReserved2, ref int phContext);
입니다. 그러나 릴리스 모드에서는 설정되지 않습니다. 그러나 이상하게도 반환 코드는 여전히 0 (성공)입니다.
그래서이 문제를 일으킬 수있는 상황이 무엇인지, 또는 내가 뭘 잘못하고있을 수 있는지 궁금 할뿐입니다.
P. 또한 컴파일 플랫폼이 모든 CPU로 설정되어 있는지 확인해야합니다. 나는 변화하는 플랫폼으로 노력하고 있었고 플랫폼과 릴리스 모드로 x86을 사용하게되면 효과가 있습니다. 그런 괴상한 행동 때문에 디버그 모드에서 작동하는 이유는 무엇입니까?
현재 어떤 OS를 사용하고 있습니까? 나는이 API를 win7과 win8에 anyCpu 컴파일과 함께 사용했고, 나는 당신이 겪고있는 문제를 발견하지 못했다. 어쨌든 나는이 구문을 IntPtr = Marshal.AllocHGlobal으로 희미한 hContext (Marshal.SizeOf (mContext)) mLastError = SCardEstablishContext (Scope.User, IntPtr.Zero, IntPtr.Zero, hContext) – AlexF