Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This topic is not current. For the most current information about the Smart Card API, see Smart Card Minidriver Specification.
The CardAuthenticatePin function, defined by a smart card module, authenticates a user by submitting a PIN to the smart card.
Syntax
DWORD WINAPI CardAuthenticatePin(
_In_ PCARD_DATA pCardData,
_In_ LPWSTR pwszUserId,
_In_ PBYTE pbPin,
_In_ DWORD cbPin,
_Out_opt_ PDWORD pcAttemptsRemaining
);
Parameters
-
pCardData [in]
-
A pointer to the CARD_DATA structure received from a call to the CardAcquireContext function.
-
pwszUserId [in]
-
A pointer to a string that contains the user ID. This ID is associated with the PIN specified by the pbPin parameter.
This parameter can be one of the following values.
Value Meaning - wszCARD_USER_EVERYONE
- L"anonymous"
The user is anonymous. - wszCARD_USER_USER
- L"user"
The user is not an administrator. - wszCARD_USER_ADMIN
- L"admin"
The user is an administrator. We recommend that administrators be authenticated by using the CardGetChallenge and CardAuthenticateChallenge functions instead of by using this function. -
pbPin [in]
-
A pointer to a buffer that contains the PIN.
-
cbPin [in]
-
The size, in bytes, of the pbPin buffer.
-
pcAttemptsRemaining [out, optional]
-
On output, a pointer to a DWORD variable that contains the number of times that an incorrect PIN can be submitted before the card is locked.
If this function has already returned a zero as the value of this parameter and is called again, the function fails and returns SCARD_W_CHV_BLOCKED.
If the value of this parameter is NULL, the smart card module ignores it.
Card modules that do not support a count of remaining authentication attempts should return a value of 1 for this parameter if the value of the parameter on input is not NULL.
Return value
If the function succeeds, the function returns zero.
If the function fails, it returns a nonzero error value or one of the following possible error values.
| Return code/value | Description |
|---|---|
|
The value of the pbPin parameter is NULL. |
|
The PIN is incorrect. |
|
The card has been blocked after too many attempts that use the wrong PIN. |
Requirements
| Minimum supported client |
Windows XP [desktop apps only] |
| Minimum supported server |
Windows Server 2003 [desktop apps only] |
| Header |
|