Compartilhar via


Função SCardEstablishContext (winscard.h)

A função SCardEstablishContext estabelece o contexto do gerenciador de recursos (o escopo) no qual as operações de banco de dados são executadas.

Sintaxe

LONG SCardEstablishContext(
  [in]  DWORD          dwScope,
  [in]  LPCVOID        pvReserved1,
  [in]  LPCVOID        pvReserved2,
  [out] LPSCARDCONTEXT phContext
);

Parâmetros

[in] dwScope

Escopo do contexto do gerenciador de recursos. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
SCARD_SCOPE_USER
As operações de banco de dados são executadas dentro do domínio do usuário.
SCARD_SCOPE_SYSTEM
As operações de banco de dados são executadas dentro do domínio do sistema. O aplicativo de chamada deve ter permissões de acesso apropriadas para qualquer ação de banco de dados.

[in] pvReserved1

Reservado para uso futuro e deve ser NULL. Esse parâmetro permitirá que um aplicativo de gerenciamento com privilégios adequados atue em nome de outro usuário.

[in] pvReserved2

Reservado para uso futuro e deve ser NULL.

[out] phContext

Um identificador para o contexto do gerenciador de recursos estabelecido. Esse identificador agora pode ser fornecido a outras funções que tentam trabalhar nesse contexto.

Valor retornado

Se a função for bem-sucedida, a função retornará SCARD_S_SUCCESS.

Se a função falhar, será exibido um código de erro. Para obter mais informações, consulte Valores retornados de cartão inteligente.

Comentários

O identificador de contexto retornado por SCardEstablishContext pode ser usado por funções de consulta e gerenciamento de banco de dados. Para obter mais informações, consulte Funções de consulta de banco de dados de cartão inteligente e funções de gerenciamento de banco de dados de cartão inteligente.

Para liberar um contexto de gerenciador de recursos estabelecido, use SCardReleaseContext.

Se o cliente tentar uma operação de cartão inteligente em uma sessão remota, como uma sessão de cliente em execução em um servidor terminal e o sistema operacional em uso não oferecer suporte ao redirecionamento de cartão inteligente, essa função retornará ERROR_BROKEN_PIPE.

Exemplos

O exemplo a seguir estabelece um contexto do gerenciador de recursos.

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 com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winscard.h
Biblioteca Winscard.lib
DLL Winscard.dll

Confira também

SCardReleaseContext