Compartilhar via


Método ISCardCmd::p ut_Data

[O método put_Data está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Ele não está disponível para uso no Windows Server 2003 com Service Pack 1 (SP1) e posterior, Windows Vista, Windows Server 2008 e versões subsequentes do sistema operacional. Os Módulos de Cartão Inteligente fornecem funcionalidade semelhante.]

O método put_Data define o campo de dados na APDU ( unidade de dados do protocolo de aplicativo ).

Sintaxe

HRESULT put_Data(
  [in] LPBYTEBUFFER pData
);

Parâmetros

pData [in]

Ponteiro para o objeto de buffer de bytes (IStream) a ser copiado para o campo de dados APDU.

Valor retornado

O método retorna um dos valores possíveis a seguir.

Código de retorno Descrição
S_OK
Operação concluída com sucesso.
E_INVALIDARG
O parâmetro pData não é válido.
E_POINTER
Um ponteiro inválido foi passado em pData.
E_OUTOFMEMORY
Sem memória.

 

Comentários

Quando você define uma nova parte de dados da mensagem, o comprimento do campo de dados é calculado e armazenado no parâmetro P3 da APDU. Para recuperar o comprimento do campo de dados, chame get_P3.

Para recuperar o campo de dados da APDU, chame get_Data.

Exemplos

O exemplo a seguir mostra como definir o campo de dados na APDU ( unidade de dados do protocolo de aplicativo ). O exemplo pressupõe que pIByteData é um ponteiro válido para uma instância da interface IByteBuffer e que pISCardCmd é um ponteiro válido para uma instância da interface 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.
}

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2003 [somente aplicativos da área de trabalho]
Fim do suporte ao cliente
Windows XP
Fim do suporte ao servidor
Windows Server 2003
Cabeçalho
Scarddat.h
Biblioteca de tipos
Scarddat.tlb
DLL
Scardssp.dll
IID
IID_ISCardCmd é definido como D5778AE3-43DE-11D0-9171-00AA00C18068

Confira também

get_Data

get_P3

ISCardCmd