Что означает код HRESULT 0x80100029 (SCARD_E_BAD_SEEK)?

 
Предыдущий Следующий
SCARD_E_WRITE_TOO_MANY SCARD_E_INVALID_CHV

SCARD_E_BAD_SEEK

description[промежуточному ПО не удалось установить позицию в выбранном файловом объекте смарт-карты по запрошенному смещению.]

Не удалось установить позицию внутри объекта карты

SCARD_E_BAD_SEEK — ошибка позиционирования в файловом объекте смарт-карты. Обычно она возникает в профиле карты или слое промежуточного ПО с файловым доступом, а не при обычном поиске позиции в файле Windows. Запрошенное смещение может выходить за пределы объекта, не соответствовать его структуре записей, не поддерживаться выбранным приложением карты или стать недопустимым после изменения либо повторного выбора объекта.

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

Что проверить

  • До сбойного вызова запишите выбранное приложение, идентификатор файла, запрошенное смещение, длину и номер записи при наличии.
  • Проверяйте документацию профиля карты или промежуточного ПО, а не применяйте предположения обычной файловой системы.
  • После извлечения или сброса карты повторно выберите нужное приложение и объект до продолжения последовательности чтения.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.