Compartir a través de


ISCardISO7816::UpdateBinary (método)

[El método UpdateBinary 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 UpdateBinary construye un comando de unidad de datos de protocolo de aplicación (APDU) que actualiza los bits presentes en un archivo elemental con los bits proporcionados en el comando APDU.

Sintaxis

HRESULT UpdateBinary(
  [in]      BYTE         byP1,
  [in]      BYTE         byP2,
  [in]      LPBYTEBUFFER pData,
  [in, out] LPSCARDCMD   *ppCmd
);

Parámetros

byP1 [in]

Desplazamiento a la ubicación de escritura (actualización) en el binario desde el inicio del archivo binario. Si b8=1 en P1, b7 y b6 de P1 se establecen en cero (bits RFU), b5 a b1 de P1 son un identificador EF corto y P2 es el desplazamiento del primer byte que se actualizará en unidades de datos desde el principio del archivo. Si b8=0 en P1, P1 || P2 es el desplazamiento del primer byte que se va a actualizar en unidades de datos desde el principio del archivo.

byP2 [in]

Desplazamiento a la ubicación de escritura (actualización) en el binario desde el inicio del archivo binario. Si b8=1 en P1, b7 y b6 de P1 se establecen en cero (bits RFU), b5 a b1 de P1 son un identificador EF corto y P2 es el desplazamiento del primer byte que se actualizará en unidades de datos desde el principio del archivo. Si b8=0 en P1, P1 || P2 es el desplazamiento del primer byte que se va a actualizar en unidades de datos desde el principio del archivo.

pData [in]

Puntero a la cadena de unidades de datos que se van a actualizar.

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

No se pueden borrar archivos elementales sin una estructura transparente. El comando encapsulado anula si se aplica a un archivo elemental sin una estructura transparente.

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

EraseBinary

ISCardISO7816

ReadBinary

WriteBinary