MÉTODO ISCardISO7816::P utData
[El método PutData 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 PutData construye un comando de unidad de datos de protocolo de aplicación (APDU) que almacena un único objeto de datos primitivo o el conjunto de objetos de datos contenidos en un objeto de datos construido, según el archivo seleccionado.
La forma en que se almacenan los objetos (escribir una vez o actualizar o anexar) depende de la definición o la naturaleza de los objetos de datos.
Sintaxis
HRESULT PutData(
[in] BYTE byP1,
[in] BYTE byP2,
[in] LPBYTEBUFFER pData,
[in, out] LPSCARDCMD *ppCmd
);
Parámetros
-
byP1 [in]
-
Codificación de P1-P2.
Value Significado - 0000 - 003F
RFU - 0040 - 00FF
Etiqueta BER-TLV (1 byte) en P2 - 0100 - 01FF
Datos de la aplicación (codificación propietaria) - 0200 - 02FF
Etiqueta SIMPLE-TLV en P2 - 0300 - 03FF
RFU - 0400 - 04FF
Etiqueta BER-TLV (2 bytes) en P1-P2 -
byP2 [in]
-
Codificación de P1-P2.
Value Significado - 0000 - 003F
RFU - 0040 - 00FF
Etiqueta BER-TLV (1 byte) en P2 - 0100 - 01FF
Datos de la aplicación (codificación propietaria) - 0200 - 02FF
Etiqueta SIMPLE-TLV en P2 - 0300 - 03FF
RFU - 0400 - 04FF
Etiqueta BER-TLV (2 bytes) en P1-P2 -
pData [in]
-
Puntero a un búfer de bytes que contiene los parámetros y los datos que se van 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 mediante el 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 solo se puede realizar si el estado de seguridad cumple las condiciones de seguridad definidas por la aplicación en el contexto de la función.
-
Almacenar datos de aplicación
-
Cuando el valor de P1-P2 se encuentra en el intervalo comprendido entre 0100 y 01FF, el valor de P1-P2 será un identificador reservado para las pruebas internas de tarjetas y para los servicios propietarios significativos dentro de un contexto de aplicación determinado.
-
Almacenar objetos de datos
-
Cuando el valor P1-P2 se encuentra en el intervalo comprendido entre 0040 y 00FF, el valor de P2 será una etiqueta BER-TLV en un solo byte. El valor de 00FF está reservado para indicar que el campo de datos contiene objetos de datos BER-TLV.
Cuando el valor de P1-P2 se encuentra en el intervalo de 0200 a 02FF, el valor de P2 será una etiqueta SIMPLE-TLV. El valor 0200 es RFU. El valor 02FF está reservado para indicar que el campo de datos contiene objetos de datos SIMPLE-TLV.
Cuando el valor de P1-P2 se encuentra en el intervalo de 4000 a FFFF, el valor de P1-P2 será una etiqueta BER-TLV en dos bytes. Los valores de 4000 a FFFF son RFU.
Cuando se proporciona un objeto de datos primitivo, el campo de datos del mensaje de comando contendrá el valor del objeto de datos primitivo correspondiente.
Cuando se proporciona un objeto de datos construido, el campo de datos del mensaje de comando contendrá el valor del objeto de datos construido (es decir, objetos de datos, incluida su etiqueta, longitud y valor).
Para obtener una lista de todos los métodos proporcionados por esta interfaz, vea 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