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


Метод ISCardISO7816::UpdateBinary

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

Метод UpdateBinary создает команду APDU , которая обновляет биты, присутствующие в элементарном файле, на биты, указанные в команде APDU.

Синтаксис

HRESULT UpdateBinary(
  [in]      BYTE         byP1,
  [in]      BYTE         byP2,
  [in]      LPBYTEBUFFER pData,
  [in, out] LPSCARDCMD   *ppCmd
);

Параметры

byP1 [in]

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

byP2 [in]

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

pData [in]

Указатель на строку обновляемых единиц данных.

ppCmd [in, out]

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

При возврате он заполняется командой APDU, созданной этой операцией. Если параметру ppCmd присвоено значение NULL, то объект smart карта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

ReadBinary

WriteBinary