PureBasic
PureBasic
ScMinidriver - Acquire Context with Smart Card or USB Token
See more ScMinidriver Examples
Initializes communication with the card inserted in the given reader (or a USB token). Reader names can be discovered via the SCard.ListReaders or SCard.FindSmartcards methods. If successful, the Atr and CardName properties will be set.Chilkat PureBasic Downloads
IncludeFile "CkScMinidriver.pb"
Procedure ChilkatExample()
success.i = 0
; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
scmd.i = CkScMinidriver::ckCreate()
If scmd.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; Reader names (smart card readers or USB tokens) can be discovered
; via List Readers or Find Smart Cards
readerName.s = "Alcor Micro USB Smart Card Reader 0"
success = CkScMinidriver::ckAcquireContext(scmd,readerName)
If success = 0
Debug CkScMinidriver::ckLastErrorText(scmd)
CkScMinidriver::ckDispose(scmd)
ProcedureReturn
EndIf
; If we are successful, the name of the currently inserted smart card is available:
cardName.s = CkScMinidriver::ckCardName(scmd)
Debug "Card name: " + cardName
; Also, the ATR of the inserted card is available (you will likely not need the ATR).
Debug "ATR: " + CkScMinidriver::ckAtr(scmd)
; Also, the maximum number of key containers is readily available:
Debug "Max number of key containers = " + Str(CkScMinidriver::ckMaxContainers(scmd))
; Delete the context when finished with the card.
success = CkScMinidriver::ckDeleteContext(scmd)
If success = 0
Debug CkScMinidriver::ckLastErrorText(scmd)
EndIf
; Sample output:
; Card name: IDPrime MD T=0
; ATR: 3B7F96000080318065B0855956FB120FFE829000
; Max number of key containers = 20
CkScMinidriver::ckDispose(scmd)
ProcedureReturn
EndProcedure