ISCardISO7816::WriteRecord (método)
[El método WriteRecord 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 WriteRecord crea un comando de unidad de datos de protocolo de aplicación (APDU) que inicia una de las siguientes operaciones:
- La escritura una vez de un registro.
- Or lógico de los bytes de datos de un registro ya presentes en la tarjeta con los bytes de datos del registro proporcionado en el comando APDU.
- AND lógico de los bytes de datos de un registro ya presentes en la tarjeta con los bytes de datos del registro proporcionado en el comando APDU.
Cuando no se especifica ninguna indicación en el byte de codificación de datos, se aplica el comportamiento OR lógico.
Nota
Al usar el direccionamiento de registros actual, el comando establece el puntero de registro en el registro actualizado correctamente.
Sintaxis
HRESULT WriteRecord(
[in] BYTE byRecordId,
[in] BYTE byRefCtrl,
[in] LPBYTEBUFFER pData,
[in, out] LPSCARDCMD *ppCmd
);
Parámetros
-
byRecordId [in]
-
Identificación del registro. Este es el valor P1:
P1 = '00' designa el registro actual.
P1 != '00' es el número del registro especificado.
-
byRefCtrl [in]
-
Codificación del control de referencia P2.
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.- Primer registro
Posición de bits: -----000 - Último registro
Posición de bits: -----001 - Siguiente registro
Posición de bits: -----010 - Registro anterior
Posición de bits: -----011 - Registro # en P1
Posición de bits: -----100 -
pData [in]
-
Puntero al registro que se va a escribir.
-
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 |
---|---|
|
Operación completada correctamente. |
|
Parámetro no válido. |
|
Se pasó un puntero incorrecto. |
|
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á procesando.
Cuando el comando contiene un identificador elemental corto válido, establece el archivo como archivo elemental actual. Si hay otro archivo elemental seleccionado actualmente en el momento de emitir este comando, este comando se puede procesar sin identificación del archivo seleccionado actualmente.
Si el comando encapsulado se aplica a un archivo elemental estructurado lineal o fijo o cíclico, se anulará si la longitud del registro es diferente de la longitud del registro existente. Si se aplica a un archivo elemental estructurado de variable lineal, se puede llevar a cabo cuando la longitud del registro es diferente de la longitud del registro existente.
Si P2=xxxxx011 y el archivo elemental es archivo cíclico, este comando tiene el mismo comportamiento que un comando construido mediante AppendRecord.
Los archivos elementales sin una estructura de registros no se pueden escribir en. El comando construido 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 |
|
Biblioteca de tipos |
|
Archivo DLL |
|
IID |
IID_ISCardISO7816 se define como 53B6AA68-3F56-11D0-916B-00AA00C18068 |
Consulte también