API Windows SCardGetStatusChange Valeur retournée: carte inconnue

galeriop Messages postés 1 Date d'inscription vendredi 26 février 2010 Statut Membre Dernière intervention 26 février 2010 - 26 févr. 2010 à 17:42
emacleri Messages postés 1 Date d'inscription samedi 6 mars 2010 Statut Membre Dernière intervention 6 mars 2010 - 6 mars 2010 à 00:31
Je suis en charge d'une petite application en vb.net qui renvoit l'UID d'une carte passée dans un lecteur. Je parviens à lire l'UID de la carte, suite à un click, mais ne parviens pas à utiliser la fonction SCardGetStatusChange : celle - ci renvoit toujours 0x80100009, indiquant que le lecteur n'est pas connu.

Voici le code:
Dim ReaderState As LPSCARD_READERSTATE
Dim sCurrReader As String
If lbListReaders.SelectedItem = Nothing Then
sCurrReader = SelectedReader
Else
sCurrReader = lbListReaders.SelectedItem
End If
ReaderState.szReader = System.Runtime.InteropServices.Marshal.StringToHGlobalAuto(sCurrReader)
ReaderState.pvUserData = IntPtr.Zero
ReaderState.dwCurrentState = SCARD_STATE_PRESENT
ReaderState.dwEventState = SCARD_STATE_PRESENT
ReaderState.rgbAtr = Nothing
Dim ReturnedContext As Integer
ReturnedContext = SCardGetStatusChange(hContext, 1000, ReaderState, 1)

ReturnedContext prend toujours la valeur 0x80100009
La variable sCurrReader contient bien le nom de l'appareil connecté à l'ordinateur.

Le membre rgbatr de la structure LPSCARD_READERSTATE a été déclaré commme un tableau de byte, szReader et pvUserData sont des pointeurs, dwCurrentState et dwEventState, et IAtrLen sont des integers (au sens VB.net). Je n'ai pas initialisé IAtrLen.

Quelqu'un aurait-il la solution?

1 réponse

emacleri Messages postés 1 Date d'inscription samedi 6 mars 2010 Statut Membre Dernière intervention 6 mars 2010
6 mars 2010 à 00:31
I'm having the same trouble with VB6 and ACR122 did you find a solution?

Thanks
emanuele
0