Compartilhar via


Método ISCardCmd::Encapsular

[O método Encapsular 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 Encapsular encapsula a APDU (unidade de dados do protocolo de aplicativo) de comando fornecida em outra APDU de comando para transmissão para uma cartão inteligente.

Sintaxe

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

Parâmetros

pApdu [in]

Ponteiro para a APDU a ser encapsulada.

ApduType [in]

CASO ISO 7816-4 para transmissões T=0 .

ISO_CASE_1

ISO_CASE_2

ISO_CASE_3

ISO_CASE_4

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
Parâmetro inválido.
E_POINTER
Um ponteiro inválido foi passado em pApdu.
E_OUTOFMEMORY
Sem memória.

 

Comentários

Para criar uma APDU de comando, chame BuildCmd.

Para obter uma lista de todos os métodos fornecidos por essa interface, consulte ISCardCmd.

Além dos códigos de erro COM listados acima, essa interface poderá retornar um código de erro de cartão inteligente se uma função de cartão inteligente for chamada para concluir a solicitação. Para obter mais informações, consulte Valores retornados do cartão inteligente.

Exemplos

O exemplo a seguir mostra como encapsular uma APDU de comando. O exemplo pressupõe que pIByteApdu é um ponteiro válido para uma instância da interface 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.
}

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

BuildCmd

ISCardCmd