Visual FoxPro
Visual FoxPro
ScMinidriver - Change Smart Card PIN (or USB token PIN)
See more ScMinidriver Examples
Demonstrates how to change the PIN for a smart card or USB token.Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loScmd
LOCAL lcReaderName
LOCAL lcCurrentPin
LOCAL lcNewPin
LOCAL lnRetval
lnSuccess = 0
* This example requires the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.
loScmd = CreateObject('Chilkat.ScMinidriver')
* Reader names (smart card readers or USB tokens) can be discovered
* via List Readers or Find Smart Cards
lcReaderName = "Alcor Micro USB Smart Card Reader 0"
lnSuccess = loScmd.AcquireContext(lcReaderName)
IF (lnSuccess = 0) THEN
? loScmd.LastErrorText
RELEASE loScmd
CANCEL
ENDIF
* If successful, the name of the currently inserted smart card is available:
? "Card name: " + loScmd.CardName
* Change the "user" PIN. (Typically, you'll always be using the "user" PIN.)
lcCurrentPin = "0000"
lcNewPin = "1234"
lnRetval = loScmd.PinChange("user",lcCurrentPin,lcNewPin)
IF (lnRetval = -1) THEN
? "The PIN is already blocked."
RELEASE loScmd
CANCEL
ENDIF
IF (lnRetval = -2) THEN
? "The PinChange function failed for some unanticipated reason"
? loScmd.LastErrorText
RELEASE loScmd
CANCEL
ENDIF
IF (lnRetval = 0) THEN
? "PIN successfully changed."
ELSE
? "Current PIN is incorrect."
? "Number of attempts remaining = " + STR(lnRetval)
ENDIF
loScmd.DeleteContext()
RELEASE loScmd