|  08.08.2016, 11:50 | #1 | 
| Участник | winscard.dll 
			
			Добрый день! Стоит задача  на Dynamics AX2009 с подключенного карт ридера считать код карты. Использую winscard.dll. Операционная система XP.  X++: DLL _winApiDLL = new DLL("C:\\Program Files\\Microsoft Dynamics AX\\50\\Client\\Bin\\winscard.dll"); DLLFunction _establishContext = new DLLFunction(_winApiDLL, 'SCardEstablishContext'); binary hSC = new Binary(4); _establishContext.returns(ExtTypes::DWord); _establishContext.arg(ExtTypes::DWord, ExtTypes::DWord, ExtTypes::DWord, ExtTypes::Pointer); establishContext = _establishContext.call(0,0,0,hSC); В чем может быть проблема?Заранее спасибо.   | 
|  | 
|  08.08.2016, 12:21 | #2 | 
| Участник | X++: establishContext = _establishContext.call(2,0,0,hSC); | 
|  | |
| За это сообщение автора поблагодарили: Kasper (1), Малой:))) (1). | |
|  09.08.2016, 12:18 | #3 | 
| Участник | 
			
			Большое спасибо!!!!Заработало!!!! На connecte застряло  X++: binary handle = new Binary(4); binary activProtocol = new Binary(4); str test; test =readers.wString(0); // имя ридера, получилось из вызова функции ScardListReaders _cardConnect.returns(ExtTypes::DWord); _cardConnect.arg(ExtTypes::DWord, ExtTypes::String, ExtTypes::DWord, ExtTypes::DWord, ExtTypes::Pointer, ExtTypes::Pointer); cardConnect =_cardConnect.call(hSC,test,2,3,handle,activProtocol); | 
|  | 
|  16.08.2016, 13:55 | #4 | 
| Enjoy! | 
			
			Ну, я бы воспользовался стандартными .Net классами для решения данной задачи. В google масса примеров считывания на других языках, которые Вам не составит труда перевести на xpp. Описания ошибок по ссылкам ниже. Не забывайте про permissions. А вообще, если прям так хочется, исчерпывающее инфо (Programming the WinSCard API in "C"): http://www.smartcard-magic.net/en/pc...scard-api-c-c/ Вот Вам документация:https://msdn.microsoft.com/en-us/lib...(v=VS.85).aspx | 
|  | 
|  19.08.2016, 12:04 | #5 | 
| Участник | 
			
			Не хочу никого обидеть, но Google пользоваться умею   | 
|  |