Операции с токенами

JCTokenBind

HRESULT JCTokenBind(HToken * phToken, LPCSTR lpszReader)

Создаёт дескриптор объекта токена и связывает его с ридером.

Параметры:
  • phToken (out) – указатель на переменную, в которую будет установлен дескриптор объекта.
  • lpszReader (in) – имя ридера, к которому подключен токен.
Результат:

  • E_POINTER – недопустимый указатель.
  • E_INVALIDARG – один или более аргументов не верны.

JCTokenIDGet

HRESULT JCTokenIDGet(HToken hToken, LPSTR lpszId, DWORD * pdwLen)

Возвращает идентификатор токена в виде шестнадцатеричной строки.

Параметры:
  • hToken (in) – дескриптор объекта токена.
  • lpszId (out) – указатель на буфер.
  • pdwLen (in,out) – указатель на переменную, в которой на входе ожидается размер буфера lpszId. Если lpszId = NULL, то в эту переменную будет записан размер необходимого буфера.
Результат:

  • E_POINTER – недопустимый указатель.
  • E_INVALIDARG – один или более аргументов не верны.

JCTokenLabelGet

HRESULT JCTokenLabelGet(HToken hToken, LPSTR lpszLabel, DWORD * pdwLen)

Возвращает метку токена.

Параметры:
  • hToken (in) – дескриптор объекта токена.
  • lpszLabel (out) – указатель на буфер.
  • pdwLen (in,out) – указатель на переменную, в которой на входе ожидается размер буфера lpszLabel. Если lpszLabel = NULL, то в эту переменную будет записан размер необходимого буфера.
Результат:

  • E_POINTER – недопустимый указатель.
  • E_INVALIDARG – один или более аргументов не верны.

JCTokenLock

HRESULT JCTokenLock(HToken hToken)

Осуществляет блокировку дескриптора объекта токена.

Параметры:
  • hToken (in) – дескриптор объекта токена.
Результат:

  • E_POINTER – недопустимый указатель.
  • E_INVALIDARG – один или более аргументов не верны.

JCTokenLogin

HRESULT JCTokenLogin(HToken hToken, LPCSTR lpszPin)

Открывает доступ к ресурсам объекта токена, защищённым с помощью PIN-кода.

Параметры:
  • hToken (in) – дескриптор объекта токена.
  • lpszPin (in) – PIN-код.
Результат:

  • E_POINTER – недопустимый указатель.
  • E_INVALIDARG – один или более аргументов не верны.
  • E_JC_WRONG_PIN – неверный PIN-код.
  • E_JC_BAD_PIN_SIZE – неподдерживаемый размер PIN-кода.

JCTokenLogout

HRESULT JCTokenLogout(HToken hToken)

Закрывает доступ к ресурсам объекта токена, защищённым с помощью PIN-кода.

Параметры:
  • hToken (in) – дескриптор объекта токена.
Результат:

  • E_POINTER – недопустимый указатель.
  • E_INVALIDARG – один или более аргументов не верны.

JCTokenMaxPinGet

HRESULT JCTokenMaxPinGet(HToken hToken, DWORD * pdwLen)

Возвращает масимально возможную длину PIN-кода.

Параметры:
  • hToken (in) – дескриптор объекта токена.
  • pdwLen (out) – указатель на переменную.
Результат:

  • E_POINTER – недопустимый указатель.
  • E_INVALIDARG – один или более аргументов не верны.

JCTokenMinPinGet

HRESULT JCTokenMinPinGet(HToken hToken, DWORD * pdwLen)

Возвращает минимально возможную длину PIN-кода.

Параметры:
  • hToken (in) – дескриптор объекта токена.
  • pdwLen (out) – указатель на переменную.
Результат:

  • E_POINTER – недопустимый указатель.
  • E_INVALIDARG – один или более аргументов не верны.

JCTokenModelGet

HRESULT JCTokenModelGet(HToken hToken, LPSTR lpszModel, DWORD * pdwLen)

Возвращает модель токена в виде шестнадцатеричной строки.

Параметры:
  • hToken (in) – дескриптор объекта токена.
  • lpszModel (out) – указатель на буфер.
  • pdwLen (in,out) – указатель на переменную, в которой на входе ожидается размер буфера lpszModel. Если lpszModel = NULL, то в эту переменную будет записан размер необходимого буфера.
Результат:

  • E_POINTER – недопустимый указатель.
  • E_INVALIDARG – один или более аргументов не верны.

JCTokenPinAttemptsGet

HRESULT JCTokenPinAttemptsGet(HToken hToken, DWORD * pdwAttempts)

Возвращает количество оставшихся попыток ввода PIN-кода.

Параметры:
  • hToken (in) – дескриптор объекта токена.
  • pdwAttempts (out) – указатель на переменную.
Результат:

  • E_POINTER – недопустимый указатель.
  • E_INVALIDARG – один или более аргументов не верны.

JCTokenPinChange

HRESULT JCTokenPinChange(HToken hToken, LPCSTR lpszNewPin)

Устанавливает новое значение PIN-кода. До этого необходимо вызвать JCTokenLogin() со старым PIN-кодом.

Параметры:
  • hToken (in) – дескриптор объекта токена.
  • lpszNewPin (in) – новый PIN-код.
Результат:

  • E_POINTER – недопустимый указатель.
  • E_INVALIDARG – один или более аргументов не верны.
  • E_JC_BAD_PIN_SIZE – неподдерживаемый размер PIN-кода.

JCTokenRebind

HRESULT JCTokenRebind(HToken hToken)

Перепривязывает дескриптор объекта токена. Нужно вызывать в том случае, если при работе с этим дескриптором возвращается ошибка SCARD_W_RESET_CARD.

Параметры:
  • hToken (in) – дескриптор объекта токена, для которого производится перепривязка.
Результат:

  • E_POINTER – недопустимый указатель.
  • E_INVALIDARG – один или более аргументов не верны.

JCTokenUnbind

HRESULT JCTokenUnbind(HToken hToken)

Закрывает дескриптор объекта токена.

Параметры:
  • hToken (in) – дескриптор объекта токена.
Результат:

  • E_POINTER – недопустимый указатель.
  • E_INVALIDARG – один или более аргументов не верны.

JCTokenUnLock

HRESULT JCTokenUnLock(HToken hToken)

Освобождает от блокировки дескриптор объекта токена.

Параметры:
  • hToken (in) – дескриптор объекта токена.
Результат:

  • E_POINTER – недопустимый указатель.
  • E_INVALIDARG – один или более аргументов не верны.