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


Метод ISCardCmd::Encapsulate

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

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

Синтаксис

HRESULT Encapsulate(
  [in] LPBYTEBUFFER  pApdu,
  [in] ISO_APDU_TYPE ApduType
);

Параметры

pApdu [in]

Указатель на инкапсулируемый APDU.

ApduType [in]

Регистр ISO 7816-4 для передачИ T=0 .

ISO_CASE_1

ISO_CASE_2

ISO_CASE_3

ISO_CASE_4

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

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

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

 

Комментарии

Чтобы создать команду APDU, вызовите BuildCmd.

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

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

Примеры

В следующем примере показано, как инкапсулировать команду APDU. В примере предполагается, что pIByteApdu является допустимым указателем на экземпляр интерфейса IByteBuffer .

HRESULT    hr;

// pIByteApdu is a pointer to an instance of IByteBuffer.
// Encapsulate the APDU.
hr = pISCardCmd->Encapsulate(pIByteApdu, ISO_CASE_1);
if (FAILED(hr)) 
{
    printf("Failed Encapsulate.\n");
    // Take other error handling action as needed.
}

Требования

Требование Значение
Минимальная версия клиента
Windows XP [только классические приложения]
Минимальная версия сервера
Windows Server 2003 [только классические приложения]
Окончание поддержки клиентов
Windows XP
Прекращение поддержки сервера
Windows Server 2003
Заголовок
Scarddat.h
Библиотека типов
Scarddat.tlb
DLL
Scardssp.dll
IID
IID_ISCardCmd определяется как D5778AE3-43DE-11D0-9171-00AA00C18068

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

BuildCmd

ISCardCmd