Función SCardEstablishContext (winscard.h)
La función SCardEstablishContext establece el contexto del administrador de recursos (el ámbito) dentro del cual se realizan las operaciones de base de datos.
Sintaxis
LONG SCardEstablishContext(
[in] DWORD dwScope,
[in] LPCVOID pvReserved1,
[in] LPCVOID pvReserved2,
[out] LPSCARDCONTEXT phContext
);
Parámetros
[in] dwScope
Ámbito del contexto del administrador de recursos. Este parámetro puede ser uno de los valores siguientes.
[in] pvReserved1
Reservado para uso futuro y debe ser NULL. Este parámetro permitirá que una aplicación de administración con privilegios adecuados actúe en nombre de otro usuario.
[in] pvReserved2
Reservado para uso futuro y debe ser NULL.
[out] phContext
Identificador del contexto de Resource Manager establecido. Este identificador ahora se puede proporcionar a otras funciones que intentan realizar el trabajo dentro de este contexto.
Valor devuelto
Si la función se ejecuta correctamente, la función devuelve SCARD_S_SUCCESS.
Si la función presenta un error, devuelve un código de error. Para obtener más información, consulte Valores devueltos de tarjeta inteligente.
Comentarios
Las funciones de consulta y administración de base de datos pueden usar el identificador de contexto devuelto por SCardEstablishContext . Para obtener más información, consulte Funciones de consulta de base de datos de tarjeta inteligente y Funciones de administración de bases de datos de tarjetas inteligentes.
Para liberar un contexto de Resource Manager establecido, use SCardReleaseContext.
Si el cliente intenta realizar una operación de tarjeta inteligente en una sesión remota, como una sesión de cliente que se ejecuta en un servidor terminal y el sistema operativo en uso no admite el redireccionamiento de tarjetas inteligentes, esta función devuelve ERROR_BROKEN_PIPE.
Ejemplos
En el ejemplo siguiente se establece un contexto de Resource Manager.
SCARDCONTEXT hSC;
LONG lReturn;
// Establish the context.
lReturn = SCardEstablishContext(SCARD_SCOPE_USER,
NULL,
NULL,
&hSC);
if ( SCARD_S_SUCCESS != lReturn )
printf("Failed SCardEstablishContext\n");
else
{
// Use the context as needed. When done,
// free the context by calling SCardReleaseContext.
// ...
}
Requisitos
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 |