ISCardISO7816::WriteBinary (método)
[El método WriteBinary 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 WriteBinary construye un comando de unidad de datos de protocolo de aplicación (APDU) que escribe valores binarios en un archivo elemental.
Dependiendo de los atributos de archivo, el comando realiza una de las siguientes operaciones:
- Or lógico de los bits ya presentes en la tarjeta con los bits especificados en el comando APDU (el estado borrado lógico de los bits del archivo es 0).
- El AND lógico de los bits ya presentes en la tarjeta con los bits proporcionados en el comando APDU (el estado borrado lógico de los bits del archivo es 1).
- Escritura única en la tarjeta de los bits proporcionados 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.
Sintaxis
HRESULT WriteBinary(
[in] BYTE byP1,
[in] BYTE byP2,
[in] LPBYTEBUFFER pData,
[in, out] LPSCARDCMD *ppCmd
);
Parámetros
-
byP1 [in]
-
Desplazamiento a la ubicación de escritura desde el principio del archivo binario (EF). 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 va a escribir 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 escribir en unidades de datos desde el principio del archivo.
-
byP2 [in]
-
Desplazamiento a la ubicación de escritura desde el principio del archivo binario (EF). 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 va a escribir 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 escribir en unidades de datos desde el principio del archivo.
-
pData [in]
-
Puntero a la cadena de unidades de 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 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.
Cuando se ha aplicado una operación binaria de escritura a una unidad de datos de un EF de escritura única, cualquier operación de escritura adicional que haga referencia a esta unidad de datos se anulará si el contenido de la unidad de datos o el indicador de estado borrado lógico (si existe) adjunto a esta unidad de datos es diferente del estado borrado lógico.
No se pueden escribir 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 |
|
Biblioteca de tipos |
|
Archivo DLL |
|
IID |
IID_ISCardISO7816 se define como 53B6AA68-3F56-11D0-916B-00AA00C18068 |
Consulte también