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


Метод ISCardCmd::p ut_Data

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

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

Синтаксис

HRESULT put_Data(
  [in] LPBYTEBUFFER pData
);

Параметры

pData [in]

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

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

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

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

 

Комментарии

При установке новой части данных сообщения длина поля данных вычисляется и сохраняется в параметре P3 APDU. Чтобы получить длину поля данных, вызовите get_P3.

Чтобы получить поле данных из APDU, вызовите get_Data.

Примеры

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

HRESULT    hr;

// pIByteData is a pointer to an instance of IByteBuffer.
// Set the data.
hr = pISCardCmd->put_Data(pIByteData);
if (FAILED(hr)) 
{
    printf("Failed put_Data.\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_Data

get_P3

ISCardCmd