Compartir a través de


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
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 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
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

GetData

ISCardISO7816