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.

Valor Significado
SCARD_SCOPE_USER
Las operaciones de base de datos se realizan dentro del dominio del usuario.
SCARD_SCOPE_SYSTEM
Las operaciones de base de datos se realizan dentro del dominio del sistema. La aplicación que llama debe tener los permisos de acceso adecuados para cualquier acción de base de datos.

[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

Consulte también

SCardReleaseContext