스마트 카드 판독기와 통신하기 위해 .NET Windows 서비스를 만들고 있습니다. 주 구성 요소는 .NET 코드에서 DLLImport 특성과 함께 사용하고있는 winscard.dll이라는 Windows DLL입니다. Windows XP 32 비트에서는 모든 것이 잘 작동하지만, Windows 7 x64 i 0x6 ERROR_INVALID_HANDLESCardTransmit으로 전화하면 결과가 나타납니다. 응용 프로그램 (명령 줄 응용 프로그램으로 서비스) 카드 판독기에 연결할 수 있지만 카드에서 아무것도 읽을 수 없습니다.winscard.dll이 포함 된 .NET 응용 프로그램의 ERROR_INVALID_HANDLE
아이디어가 있으십니까?
.NET 응용 프로그램을 anycpu가 아닌 32 비트 프로그램으로 빌드 해 보았습니까? –
32 비트 응용 프로그램으로 빌드 한 경우 처리되지 않은 예외 : System.AccessViolationException : 보호 된 메모리를 읽거나 쓰려고 시도했습니다. 이것은 종종 다른 메모리가 손상되었다는 표시입니다. SmartCard.SmartCardBase.SCardListReaderGroups에서 Microsoft.Win32.Win32Native.CoTaskMemFree (IntPtr입니다 PTR) 에서 (INT32 hContext, 문자열 및 cGro 업, INT32 및 nStringSize) C에서 SmartCard.SmartCardBase.InitializeCardReader()에서 : \ 데이터 \ K7 인트라넷 \ Smar tCard \ SmartCardBase.cs : 행 152 at SmartCard.Program.Main (String [] args) in C : \ Data \ K7 인트라넷 \ 스마트 카드 \ Pro gram.cs : 줄 14 –
단 하나 (http://www.groupsrv.com/dotnet/about280604.html). 훨씬 더 많은 정보를 얻지는 않습니다. –