Funzione SCardEstablishContext (winscard.h)

La funzione SCardEstablishContext stabilisce il contesto di Resource Manager (ambito) all'interno del quale vengono eseguite le operazioni del database.

Sintassi

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

Parametri

[in] dwScope

Ambito del contesto di Resource Manager. Questo parametro può avere uno dei valori seguenti.

Valore Significato
SCARD_SCOPE_USER
Le operazioni di database vengono eseguite all'interno del dominio dell'utente.
SCARD_SCOPE_SYSTEM
Le operazioni di database vengono eseguite all'interno del dominio del sistema. L'applicazione chiamante deve disporre delle autorizzazioni di accesso appropriate per qualsiasi azione del database.

[in] pvReserved1

Riservato per uso futuro e deve essere NULL. Questo parametro consentirà a un'applicazione di gestione con privilegi adatta di agire per conto di un altro utente.

[in] pvReserved2

Riservato per uso futuro e deve essere NULL.

[out] phContext

Handle per il contesto di Resource Manager stabilito. Questo handle può ora essere fornito ad altre funzioni che tentano di eseguire operazioni all'interno di questo contesto.

Valore restituito

Se la funzione ha esito positivo, la funzione restituisce SCARD_S_SUCCESS.

Se la funzione non viene completata, restituisce un codice di errore. Per altre informazioni, vedere Valori restituiti della smart card.

Commenti

L'handle di contesto restituito da SCardEstablishContext può essere usato dalle funzioni di gestione e query del database. Per altre informazioni, vedere Funzioni di query del database smart card e Funzioni di gestione del database smart card.

Per rilasciare un contesto di resource manager stabilito, usare SCardReleaseContext.

Se il client tenta un'operazione di smart card in una sessione remota, ad esempio una sessione client in esecuzione in un server terminal e il sistema operativo in uso non supporta il reindirizzamento di smart card, questa funzione restituisce ERROR_BROKEN_PIPE.

Esempio

Nell'esempio seguente viene definito un contesto di 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.
    // ...
}

Requisiti

   
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winscard.h
Libreria Winscard.lib
DLL Winscard.dll

Vedi anche

SCardReleaseContext