Re[2]: PTS for PCSC
От: haltsys2005  
Дата: 27.07.04 15:28
Оценка:
Здравствуйте, shilon, Вы писали:


S>Здравствуйте, haltsys2005, Вы писали:


H>>я пишу приложение для работы с картами через PCSC ридер.

H>>Мне нужно чтобы после Resetа на карту была подана последовательность PTS для установки протокола T=0 и желаемой скорости обмена=115200.Я пользуюсь стандартными функциями ScardEstablishContext,ScardConnect,ScardTransmit и.т.п..К сожалению,для себя я так и не уяснил из документации как это сделать.
H>>Не могли бы Вы мне помочь в этом вопросе.



S>Cкорость нельзя явно установить , это делает драйвер Кард-Считываетля . Т.е. Он устанавливает оптимальну скорость работы с считывателем,. А считыватель с картой опять же работает как ему вздумается. Иногда есть возможность установить скорость (Считыватель — карта) , иногда нет. Зависит от производителя Считывателя .

S>Я писал PCSC драйвера и могу это точно сказать.

S>Например вот так можно утсановить протокол передачи.


S>LPCSCARD_I0_REQUEST io = {SCARD_PROTOCOL_T0, 8};


S>lReturn = SCardTransmit(hCardHandle,

S> &io,
S> pbSend,
S> dwSend,
S> NULL,
S> pbRecv,
S> &dwRecv );
S>if ( SCARD_S_SUCCESS != lReturn )
S>{

S>}






S>Вот еще пример из MSDN


S>Example Code

S>SCARDHANDLE hCardHandle;
S>LONG lReturn;
S>DWORD dwAP;

S>// Connect to the reader.

S>// hContext is a SCARDCONTEXT previously set by
S>// a call to SCardEstablishContext.
S>lReturn = SCardConnect( hContext,
S> L"Rainbow Technologies SCR3531 0",
S> SCARD_SHARE_SHARED,
S> SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1,
S> &hCardHandle,
S> &dwAP );
S>if ( SCARD_S_SUCCESS != lReturn )
S>{
S> printf("Failed SCardConnect\n");
S> exit(1); // Or other appropriate action.
S>}

S>// Use the connection; here we will merely display the

S>// active protocol.
S>switch ( dwAP )
S>{
S> case SCARD_PROTOCOL_T0:
S> printf("Active protocol T0\n");
S> break;

S> case SCARD_PROTOCOL_T1:

S> printf("Active protocol T1\n");
S> break;

S> case SCARD_PROTOCOL_UNDEFINED:

S> default:
S> printf("Active protocol unnegotiated or unknown\n");
S> break;
S>}

S>// Remember to disconnect (by calling SCardDisconnect).

S>// …
А каким параметром нужно играть чтобы изменить скорость?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.