Método ISCardCmd::BuildCmd
[O método BuildCmd 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 BuildCmd constrói uma APDU (unidade de dados de protocolo de aplicativo) de comando válida para transmissão para um cartão inteligente.
Sintaxe
HRESULT BuildCmd(
[in] BYTE byClassId,
[in] BYTE byInsId,
[in] BYTE byP1,
[in] BYTE byP2,
[in] LPBYTEBUFFER pbyData,
[in] LONG *p1Le
);
Parâmetros
-
byClassId [in]
-
Identificador de classe de comando.
-
byInsId [in]
-
Identificador de instrução de comando.
-
byP1 [in]
-
O primeiro parâmetro do comando.
-
byP2 [in]
-
Segundo parâmetro do comando.
-
pbyData [in]
-
Ponteiro para a parte de dados do comando.
-
p1Le [in]
-
Ponteiro para um inteiro LONG que contém o comprimento esperado dos dados retornados.
Valor retornado
O método retorna um dos valores possíveis a seguir.
Código de retorno | Descrição |
---|---|
|
Operação concluída com sucesso. |
|
Um dos parâmetros não é válido. |
|
Um ponteiro inválido foi passado. |
|
Sem memória. |
Comentários
Para encapsular o comando em outro comando, chame Encapsular.
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 tiver sido chamada para concluir a solicitação. Para obter mais informações, consulte Valores retornados de cartão inteligente.
Exemplos
O exemplo a seguir mostra como construir uma APDU de comando. O exemplo pressupõe que pISCardCmd é um ponteiro válido para uma instância da interface ISCardCmd e que pIByteRequest é um ponteiro válido para uma instância da interface IByteBuffer inicializada com uma chamada anterior para o método IByteBuffer::Initialize .
LONG lLe = 0;
HRESULT hr;
hr = pISCardCmd->BuildCmd(0x00, // Some cards prefer 0xC0
0xa4, // 'Select File'
0x00,
0x00,
pIByteRequest,
&lLe);
if (FAILED(hr))
{
printf("Failed ISCardCmd::BuildCmd\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 |
|
Biblioteca de tipos |
|
DLL |
|
IID |
IID_ISCardCmd é definido como D5778AE3-43DE-11D0-9171-00AA00C18068 |
Confira também