Поделиться через


Метод ISCardISO7816::ReadBinary

[Метод ReadBinary доступен для использования в операционных системах, указанных в разделе Требования. Он недоступен для использования в Windows Server 2003 с пакетом обновления 1 (SP1) и более поздних версиях, Windows Vista, Windows Server 2008 и последующих версиях операционной системы. Модули смарт-карт предоставляют аналогичные функциональные возможности.]

Метод ReadBinary создает команду application protocol data unit (APDU), которая получает ответное сообщение, которое предоставляет эту часть содержимого прозрачно структурированного элементарного файла.

Синтаксис

HRESULT ReadBinary(
  [in]      BYTE       byP1,
  [in]      BYTE       byP2,
  [in]      LONG       lBytesToRead,
  [in, out] LPSCARDCMD *ppCmd
);

Параметры

byP1 [in]

Поле P1–P2, смещение до первого байта, считываемого с начала файла. Если b8= 1 в P1, то b7 и b6 из P1 задается равным нулю (биты RFU), b5 — b1 из P1 — короткий идентификатор EF, а P2 — смещение первого байта, считываемого в единицах данных с начала файла. Если b8=0 в P1, то P1|| P2 — это смещение первого байта, считываемого в единицах данных, от начала файла.

byP2 [in]

Поле P1–P2, смещение до первого байта, считываемого с начала файла. Если b8= 1 в P1, то b7 и b6 из P1 задается равным нулю (биты RFU), b5 — b1 из P1 — короткий идентификатор EF, а P2 — смещение первого байта, считываемого в единицах данных с начала файла. Если b8=0 в P1, то P1|| P2 — это смещение первого байта, считываемого в единицах данных, от начала файла.

lBytesToRead [in]

Число байтов, считываемых из прозрачного EF.

Если поле Le содержит только нули, то в пределах ограничения 256 для короткой длины или 65536 для расширенной длины все байты до конца файла должны быть прочитаны.

ppCmd [in, out]

На входе — указатель на объект интерфейса ISCardCmd или NULL.

При возврате он заполняется командой APDU, созданной этой операцией. Если параметру ppCmd присвоено значение NULL, то объект интеллектуальной картаISCardCmd создается внутренним образом и возвращается с помощью указателя ppCmd.

Возвращаемое значение

Метод возвращает одно из следующих возможных значений.

Код возврата Описание
S_OK
Operation completed successfully (Операция выполнена успешно).
E_INVALIDARG
Недопустимый параметр.
E_POINTER
Был передан неправильный указатель.
E_OUTOFMEMORY
Недостаточно памяти.

 

Комментарии

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

Если команда содержит допустимый короткий элементарный идентификатор, она задает файл как текущий элементарный файл.

Простейшие файлы без прозрачной структуры не могут быть удалены. Инкапсулируемая команда прерывается при применении к элементарном файлу без прозрачной структуры.

Список всех методов, предоставляемых этим интерфейсом, см. в разделе ISCardISO7816.

В дополнение к приведенным выше кодам ошибок COM этот интерфейс может возвращать код ошибки смарт-карта, если для выполнения запроса была вызвана функция смарт-карта. Дополнительные сведения см. в разделе Возвращаемые значения смарт-карты.

Требования

Требование Значение
Минимальная версия клиента
Windows XP [только классические приложения]
Минимальная версия сервера
Windows Server 2003 [только классические приложения]
Окончание поддержки клиентов
Windows XP
Окончание поддержки сервера
Windows Server 2003
Заголовок
Scardssp.h
Библиотека типов
Scardsrv.tlb
DLL
Scardssp.dll
IID
IID_ISCardISO7816 определяется как 53B6AA68-3F56-11D0-916B-00AA00C18068

См. также раздел

EraseBinary

ISCardISO7816

UpdateBinary

WriteBinary