Función SCardControl (winscard.h)
La función SCardControl proporciona control directo del lector. Puede llamarlo en cualquier momento después de una llamada correcta a SCardConnect y antes de una llamada correcta a SCardDisconnect. El efecto en el estado del lector depende del código de control.
Sintaxis
LONG SCardControl(
[in] SCARDHANDLE hCard,
[in] DWORD dwControlCode,
[in] LPCVOID lpInBuffer,
[in] DWORD cbInBufferSize,
[out] LPVOID lpOutBuffer,
[in] DWORD cbOutBufferSize,
[out] LPDWORD lpBytesReturned
);
Parámetros
[in] hCard
Valor de referencia devuelto desde SCardConnect.
[in] dwControlCode
Código de control para la operación. Este valor identifica la operación específica que se va a realizar.
[in] lpInBuffer
Puntero a un búfer que contiene los datos necesarios para realizar la operación. Este parámetro puede ser NULL si el parámetro dwControlCode especifica una operación que no requiere datos de entrada.
[in] cbInBufferSize
Tamaño, en bytes, del búfer al que apunta lpInBuffer.
[out] lpOutBuffer
Puntero a un búfer que recibe los datos de salida de la operación. Este parámetro puede ser NULL si el parámetro dwControlCode especifica una operación que no genera datos de salida.
[in] cbOutBufferSize
Tamaño, en bytes, del búfer al que apunta lpOutBuffer.
[out] lpBytesReturned
Puntero a un DWORD que recibe el tamaño, en bytes, de los datos almacenados en el búfer al que apunta lpOutBuffer.
Valor devuelto
Esta función devuelve valores diferentes en función de si se realiza correctamente o no.
Código devuelto | Descripción |
---|---|
|
SCARD_S_SUCCESS. |
|
Código de error. Para obtener más información, consulte Valores devueltos de tarjeta inteligente. |
Comentarios
La función SCardControl es una función de acceso directo a tarjetas. Para obtener más información sobre otras funciones de acceso directo, consulte Funciones de acceso directo a tarjetas.
Ejemplos
En el ejemplo siguiente se emite un código de control. En el ejemplo se supone que hCardHandle es un identificador válido recibido de una llamada anterior a SCardConnect y que dwControlCode es una variable de tipo DWORD inicializada previamente en un código de control válido. Este código de control concreto no requiere datos de entrada y no espera datos de salida.
lReturn = SCardControl( hCardHandle,
dwControlCode,
NULL,
0,
NULL,
0,
0 );
if ( SCARD_S_SUCCESS != lReturn )
printf("Failed SCardControl\n");
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winscard.h |
Library | Winscard.lib |
Archivo DLL | Winscard.dll |