Что означает код HRESULT 0x8010006D (SCARD_W_EOF)?

 
Предыдущий Следующий
SCARD_W_CHV_BLOCKED SCARD_W_CANCELLED_BY_USER

SCARD_W_EOF

Условие конца объекта

SCARD_W_EOF сообщает, что операция с файлом смарт-карты достигла конца выбранного объекта. Это может быть нормальным граничным условием, когда приложение читает файл карты частями, но также может указывать на неверно ожидаемую длину, число записей или смещение. Это не EOF файловой системы компьютера и не означает, что считыватель потерял карту.

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

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

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

Ссылки


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