Bonjour,
Je m'excuse si ce n'est pas tout à fait la bonne section, mais j'ai un problème relatif au C et je ne suis pas un expert...
Avec notamment la paramètre mszReaders
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 LONG SCardListReaders( __in SCARDCONTEXT hContext, __in LPCTSTR mszGroups, __out LPTSTR mszReaders, __inout LPDWORD pcchReaders );
J'utilise cette fonction pour récuperer les lecteurs de cartes à puce détectés sur le PC.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 mszReaders Multi-string that lists the card readers within the supplied reader groups. If this value is NULL, SCardListReaders ignores the buffer length supplied in pcchReaders, writes the length of the buffer that would have been returned if this parameter had not been NULL to pcchReaders, and returns a success code.
Si j'affiche la liste des lecteurs, même si j'en ai plusieurs, il m'en affiche toujours un seul.
Code : Sélectionner tout - Visualiser dans une fenêtre à part printf("listReader : '%s'\n", mszReaders);
J'ai trouvé ca aussi :
Alors mes questions :
Code : Sélectionner tout - Visualiser dans une fenêtre à part The reader names is a multi-string and separated by a nul character ('\0') and ended by a double nul character. "Reader A\0Reader B\0\0".
1/ le printf n'arreterais pas l'affichage au premier '\0' rencontré ? Si oui comment faire pour tout afficher ?
2/ j'ai essayé le strcpy() de cette facon
même résultat toujours un seul lecteur alors que les deux sont bien présent...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 readerName= (char *) malloc(256 * sizeof(char)); strcpy(readerName, mszReaders);
Quelqu'un pourrait m'aider à me dépatouiller s'il vous plait
Merci d'avance.
Partager