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


Метод ISCardCmd::get_Apdu

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

Метод get_Apdu извлекает необработанную единицу данных протокола приложения (APDU).

Синтаксис

HRESULT get_Apdu(
  [out] LPBYTEBUFFER *ppApdu
);

Параметры

ppApdu [out]

Указатель на буфер байтов, сопоставленный с объектом IStream , который содержит сообщение APDU при возврате.

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

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

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

 

Комментарии

Чтобы скопировать APDU из объекта IByteBuffer (IStream) в APDU, заключенный в этот объект интерфейса, вызовите put_Apdu.

Чтобы определить длину APDU, вызовите get_ApduLength.

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

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

Примеры

В следующем примере показано, как получить необработанную единицу данных протокола приложения (APDU). В примере предполагается, что pISCardCmd является допустимым указателем на интерфейс ISCardCmd , а pIByteApdu — допустимым указателем на экземпляр интерфейса IByteBuffer .

HRESULT    hr;

hr = pISCardCmd->get_Apdu(&pIByteApdu);
if (FAILED(hr)) 
{
    printf("Failed get_Apdu.\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

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

get_ApduLength

ISCardCmd

put_Apdu