The Verify method constructs an APDU command that initiates the comparison (in the card) of the verification data sent from the interface device with the reference data stored in the card (for example, password).
HRESULT Verify(
BYTE byRefCtrl,
LPBYTEBUFFER pData,
LPSCARDCMD *ppCmd
);
Meaning | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
---|---|---|---|---|---|---|---|---|
No Info | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Global Ref | 0 | - | - | - | - | - | - | - |
Specific Ref | 1 | - | - | - | - | - | - | - |
RFU | - | x | x | - | - | - | - | - |
Ref Data # | - | - | - | x | x | x | x | x |
An example of Global Ref would be a password.
An example of Specific Ref is DF specific password.
P2=00 is reserved to indicate that no particular qualifier is used in those cards where the verify command references the secret data unambiguously.
The reference data number may be for example a password number or a short EF identifier.
When the body is empty, the command may be used either to retrieve the number 'X' of further allowed retries (SW1-SW2=63CX) or to check whether the verification is not required (SW1-SW2=9000).
On return, it is filled with the APDU command constructed by this operation. If ppCmd was set to NULL, a smart card ISCardCmd object is internally created and returned via the ppCmd pointer.
The possible return values are the following:
Value | Meaning |
---|---|
S_OK | Operation completed successfully. |
E_INVALIDARG | Invalid parameter. |
E_POINTER | A bad pointer was passed in. |
E_OUTOFMEMORY | Out of memory. |
The security status may be modified as a result of a comparison. Unsuccessful comparisons may be recorded in the card (for example, to limit the number of further attempts of the use of the reference data).
For a list of all the methods provided by the ISCardISO7816 interface, see ISCardISO7816.
In addition to the COM error codes listed above, this interface may return a smart card error code if a smart card function was called to complete the request. For information on smart card error codes, see Error Codes.
Windows NT: Use version 4.0 SP3 and later.
Windows: Use Windows 95 OSR2.1.
Windows CE: Unsupported.
Header: Declared in scardsrv.h.
Import Library: scardsrv.tlb.