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


Метод ISCardISO7816::EraseBinary

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

Метод EraseBinary создает команду единицы данных протокола приложения (APDU), которая последовательно устанавливает часть содержимого элементарной файла в логическое состояние очистки, начиная с заданного смещения.

Синтаксис

HRESULT EraseBinary(
  [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 — это смещение первого байта, который необходимо удалить (в единицах данных) от начала файла.

Если поле данных присутствует, оно закодировало смещение первой единицы данных, не удаляемой. Это смещение должно быть выше, чем закодированное в P1–P2. Если поле данных пусто, команда удаляет файл до конца.

byP2 [in]

Позиция РФС.

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

Если b8=0 в P1, то P1 || P2 — это смещение первого байта, который необходимо удалить (в единицах данных) от начала файла.

Если поле данных присутствует, оно закодировало смещение первой единицы данных, не удаляемой. Это смещение должно быть выше, чем закодированное в P1–P2. Если поле данных пусто, команда удаляет файл до конца.

pData [in]

Указатель на данные, указывающие диапазон стирания. Этот параметр может иметь значение NULL.

ppCmd [in, out]

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

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

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

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

Код возврата Описание
S_OK
Операция выполнена успешно.
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

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

ISCardISO7816

ReadBinary

UpdateBinary

WriteBinary