Share via


Método ISCardISO7816::ReadRecord

[O método ReadRecord 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 ReadRecord constrói um comando APDU ( unidade de dados de protocolo de aplicativo ) que lê o conteúdo dos registros especificados ou a parte inicial de um registro de um arquivo elementar.

Sintaxe

HRESULT ReadRecord(
  [in]      BYTE       byRecordId,
  [in]      BYTE       byRefCtrl,
  [in]      LONG       lBytesToRead,
  [in, out] LPSCARDCMD *ppCmd
);

Parâmetros

byRecordId [in]

Número de registro ou ID do primeiro registro a ser lido (00 indica o registro atual).

byRefCtrl [in]

Codificação do controle de referência.

Valor Significado
EF atual
Posição do bit: 00000---
EF selecionado no momento.
ID de EF curta
Posição do bit: xxxxx---
Identificador EF curto.
RFU
Posição do bit: 11111---
Registro #
Posição do bit: -----1xx
Uso do número de registro em P1.
Ler Registro
Posição do bit: -----100
Ler o registro P1.
Até o último
Posição do bit: -----101
Leia todos os registros de P1 até o último.
Até P1
Posição do bit: -----110
Leia todos os registros do último até P1.
RFU
Posição do bit: -----111
ID do Registro
Posição do bit: -----0xx
Uso do número de registro em P1.
Primeira ocorrência
Posição do bit: -----000
Ler primeira ocorrência.
Última Ocorrência
Posição do bit: -----001
Leia a última ocorrência.
Próxima Ocorrência
Posição do bit: -----010
Leia a próxima ocorrência.
Anterior
Posição do bit: -----011
Ler a ocorrência anterior.
Segredo
Posição do bit: ---xxxxx

 

lBytesToRead [in]

Número de bytes a serem lidos do EF transparente.

Se o campo Le contiver apenas zeros, dependendo de b3b2b1 de P2 e dentro do limite de 256 para comprimento curto ou 65536 para comprimento estendido, o comando deverá ler completamente o registro solicitado único ou a sequência solicitada de registros.

ppCmd [in, out]

Na entrada, um ponteiro para um objeto de interface ISCardCmd ou NULL.

No retorno, ele é preenchido com o comando APDU construído por essa operação. Se ppCmd tiver sido definido como NULL, um objeto cartãoISCardCmd inteligente será criado internamente e retornado por meio do ponteiro ppCmd.

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.
E_OUTOFMEMORY
Sem memória.

 

Comentários

O comando encapsulado só poderá ser executado se o status de segurança do cartão inteligente atender aos atributos de segurança do arquivo elementar que está sendo lido.

Se outro arquivo elementar estiver selecionado no momento da emissão desse comando, ele poderá ser processado sem a identificação do arquivo selecionado no momento.

Quando o comando contém um identificador elementar curto válido, ele define o arquivo como arquivo elementar atual.

Arquivos elementares sem uma estrutura de registro não podem ser lidos. O comando encapsulado anula se aplicado a um arquivo elementar sem uma estrutura de registro.

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

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.

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
Scardssp.h
Biblioteca de tipos
Scardsrv.tlb
DLL
Scardssp.dll
IID
IID_ISCardISO7816 é definido como 53B6AA68-3F56-11D0-916B-00AA00C18068

Confira também

AppendRecord

ISCardISO7816

UpdateRecord

WriteRecord