IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API, COM et SDKs Delphi Discussion :

utilisation dll Gemplus


Sujet :

API, COM et SDKs Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 40
    Par défaut utilisation dll Gemplus
    Bonjour,

    Apres winscard.dll, c'est Gsc.dll qui me bloque...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    SCARDHANDLE	m_hCard;
    Cstring 		m_csSATR;
    PUCHAR pOutBuffer = (PUCHAR)m_csSATR.GetBufferSetLength(10); //  Length  ATR size
    memset(pInBuffer, 0x00, 10);
    DWORD  Length = 4;  // expected ATR length in bytes 
     
    m_Ret = GSCPowerUp(m_hCard, pOutBuffer, &Length);
     
    // Reset buffer length...
    m_csSATR.ReleaseBuffer( );
    pOutBuffer = (PUCHAR)m_csSATR.GetBufferSetLength(Length);
     
    // The conversion of the sting to HEX should be done before releasing buffer,
    // Otherwise the reported string length can be not correct in case of zero byte in buffer
    ConvertStringToHex(m_csSATR);
    m_csSATR.ReleaseBuffer( );
     
    if(m_Ret!=GEM_SUCCESS)
     	// Display ("SC subsystem error!");
    else
    	// Display ("Success!");
    }
    je l'ai traduit comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     ATRBUFF : string;
      ATRLEN : longint;
    ..........
               ATRLEN := 4;
               atrbuff := 'aaaa';
              RetVar := GSCPowerUp (FCardHandle,@atrbuff,ATRLEN);
              if RetVar <> SCARD_S_SUCCESS then
                 begin
                 memo1.lines.add('PowerUp Echoué');
                 abort;
                 end
              else
                memo1.lines.add('PowerUp OK');
    la fonction me renvoie bien SCARD_s_SUCCES , ecrit "Power Up OK puis plante.
    Pouvez vous m'aider ??
    La fonction marche bien en C y compris en plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    unsigned char ATRBuf[4]; unsigned long ATRLen;
     
    ATRLen = 4;
    retvar = GSCPowerUp(m_hcard,ATRBuf, &ATRLen);
    ...//m_hcard c'est le handele..tout simple.
    Merci pour votre aide
    Oceane.

  2. #2
    Membre Expert

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 296
    Par défaut
    Et en transformant ATRBUFF en PChar, ou en array[0..3] of char?

Discussions similaires

  1. Utilisation DLL créée sous VB6
    Par Dertron dans le forum Access
    Réponses: 12
    Dernier message: 05/04/2006, 14h54
  2. Problème utilisation DLL
    Par Tub-95 dans le forum MFC
    Réponses: 4
    Dernier message: 02/11/2005, 12h00
  3. [VB6] Utiliser dll .Net dans VB6
    Par sokette dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 31/03/2005, 14h34
  4. Utiliser Dll Delphi
    Par smyley dans le forum MFC
    Réponses: 9
    Dernier message: 12/03/2005, 18h21
  5. [D8] Utilisation dll D7 sous D8
    Par smyley dans le forum Delphi .NET
    Réponses: 2
    Dernier message: 01/11/2004, 11h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo