Compartir a través de


ISCardISO7816::ReadRecord (método)

[El método ReadRecord está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. No está disponible para su uso en Windows Server 2003 con Service Pack 1 (SP1) y versiones posteriores, Windows Vista, Windows Server 2008 y versiones posteriores del sistema operativo. Los módulos de tarjeta inteligente proporcionan una funcionalidad similar.]

El método ReadRecord construye un comando de unidad de datos de protocolo de aplicación (APDU) que lee el contenido de los registros especificados o la parte inicial de un registro de un archivo elemental.

Sintaxis

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

Parámetros

byRecordId [in]

Número de registro o identificador del primer registro que se va a leer (00 indica el registro actual).

byRefCtrl [in]

Codificación del control de referencia.

Value Significado
EF actual
Posición de bits: 00000---
Ef seleccionado actualmente.
Id. de EF corto
Posición de bits: xxxxx---
Identificador de EF corto.
RFU
Posición de bits: 11111---
Grabar #
Posición de bits: -----1xx
Uso del número de registro en P1.
Leer registro
Posición de bits: -----100
Lectura del registro P1.
Hasta el último
Posición de bits: -----101
Lea todos los registros de P1 hasta el último.
Hasta P1
Posición de bits: -----110
Lee todos los registros de la última hasta P1.
RFU
Posición de bits: -----111
Record ID
Posición de bits: -----0xx
Uso del número de registro en P1.
Primera vez que se produce
Posición de bits: -----000
Leer la primera aparición.
Última repetición
Posición de bits: -----001
Lee la última aparición.
Siguiente evento
Posición de bits: -----010
Lee la siguiente aparición.
Anterior
Posición de bits: -----011
Lee la repetición anterior.
Secreto
Posición de bit: ---xxxxx

 

lBytesToRead [in]

Número de bytes que se van a leer desde ef transparente.

Si el campo Le contiene solo ceros, dependiendo de b3b2b1 de P2 y dentro del límite de 256 para longitud corta o 65536 para longitud extendida, el comando debe leer completamente el único registro solicitado o la secuencia solicitada de registros.

ppCmd [in, out]

En la entrada, un puntero a un objeto de interfaz ISCardCmd o NULL.

A cambio, se rellena con el comando APDU construido por esta operación. Si ppCmd se estableció en NULL, se crea internamente un objeto ISCardCmd de tarjeta inteligente y se devuelve a través del puntero ppCmd.

Valor devuelto

El método devuelve uno de los siguientes valores posibles.

Código devuelto Descripción
S_OK
Operación completada correctamente.
E_INVALIDARG
Parámetro no válido.
E_POINTER
Se pasó un puntero incorrecto.
E_OUTOFMEMORY
Memoria insuficiente

 

Comentarios

El comando encapsulado solo se puede realizar si el estado de seguridad de la tarjeta inteligente satisface los atributos de seguridad del archivo elemental que se está leyendo.

Si actualmente se selecciona otro archivo elemental en el momento de emitir este comando, se puede procesar sin identificación del archivo seleccionado actualmente.

Cuando el comando contiene un identificador elemental corto válido, establece el archivo como archivo elemental actual.

No se pueden leer archivos elementales sin una estructura de registros. El comando encapsulado anula si se aplica a un archivo elemental sin una estructura de registros.

Para obtener una lista de todos los métodos proporcionados por esta interfaz, consulte ISCardISO7816.

Además de los códigos de error COM enumerados anteriormente, esta interfaz puede devolver un código de error de tarjeta inteligente si se llamó a una función de tarjeta inteligente para completar la solicitud. Para obtener más información, consulte Valores devueltos de tarjeta inteligente.

Requisitos

Requisito Value
Cliente mínimo compatible
Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2003 [solo aplicaciones de escritorio]
Fin de compatibilidad de cliente
Windows XP
Fin de compatibilidad de servidor
Windows Server 2003
Encabezado
Scardssp.h
Biblioteca de tipos
Scardsrv.tlb
Archivo DLL
Scardssp.dll
IID
IID_ISCardISO7816 se define como 53B6AA68-3F56-11D0-916B-00AA00C18068

Consulte también

AppendRecord

ISCardISO7816

UpdateRecord

WriteRecord