Función SCardGetReaderDeviceInstanceIdA (winscard.h)
La función SCardGetReaderDeviceInstanceId obtiene el identificador de instancia de dispositivo del lector de tarjetas para el nombre de lector especificado. Esta función no afecta al estado del lector.
Sintaxis
LONG SCardGetReaderDeviceInstanceIdA(
[in] SCARDCONTEXT hContext,
[in] LPCSTR szReaderName,
[out, optional] LPSTR szDeviceInstanceId,
[in, out] LPDWORD pcchDeviceInstanceId
);
Parámetros
[in] hContext
Identificador que identifica el contexto del administrador de recursos para la consulta. Puede establecer el contexto del administrador de recursos mediante una llamada anterior a la función SCardEstablishContext . Este parámetro no puede ser NULL.
[in] szReaderName
Nombre del lector. Puede obtener este valor llamando a la función SCardListReaders .
[out, optional] szDeviceInstanceId
Búfer que recibe el identificador de instancia de dispositivo del lector. Si este valor es NULL, la función omite la longitud del búfer proporcionada en el parámetro cchDeviceInstanceId , escribe la longitud del búfer que se habría devuelto si este parámetro no hubiera sido NULL en cchDeviceInstanceId y devuelve un código correcto.
[in, out] pcchDeviceInstanceId
Longitud, en caracteres, del búfer szDeviceInstanceId , incluido el terminador NULL . Si la longitud del búfer se especifica como SCARD_AUTOALLOCATE, el parámetro szDeviceInstanceId se convierte en un puntero a un puntero de byte y recibe la dirección de un bloque de memoria que contiene el identificador de instancia. Este bloque de memoria debe desasignarse con la función SCardFreeMemory .
Valor devuelto
Esta función devuelve valores diferentes en función de si se realiza correctamente o se produce un error.
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
Esta función no se redirige. Al llamar a la función SCardGetReaderDeviceInstanceId cuando dentro de una sesión de Escritorio remoto se produce un error con el código de error SCARD_E_READER_UNAVAILABLE.
Ejemplos
LONG lReturn;
LPTSTR szReaderName = "USB Smart Card Reader 0";
WCHAR szDeviceInstanceId[256];
DWORD cchDeviceInstanceId = 256;
// Retrieve the reader's device instance ID.
// hContext was set by a previous call to SCardEstablishContext.
lReturn = SCardGetReaderDeviceInstanceId (hContext,
szReaderName,
szDeviceInstanceId,
&cchDeviceInstanceId);
if ( SCARD_S_SUCCESS != lReturn )
{
printf("Failed SCardGetReaderDeviceInstanceId - %x\n", lReturn);
// Take appropriate action.
}
Nota:
El encabezado winscard.h define SCardGetReaderDeviceInstanceId como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
Cliente mínimo compatible | Windows 8 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2012 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winscard.h |
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de