Fonction SCardEstablishContext (winscard.h)

La fonction SCardEstablishContext établit le contexte resource manager (étendue) dans lequel les opérations de base de données sont effectuées.

Syntaxe

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

Paramètres

[in] dwScope

Étendue du contexte resource manager. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
SCARD_SCOPE_USER
Les opérations de base de données sont effectuées dans le domaine de l’utilisateur.
SCARD_SCOPE_SYSTEM
Les opérations de base de données sont effectuées dans le domaine du système. L’application appelante doit disposer des autorisations d’accès appropriées pour toutes les actions de base de données.

[in] pvReserved1

Réservé pour une utilisation ultérieure et doit avoir la valeur NULL. Ce paramètre permet à une application de gestion à privilèges convenables d’agir pour le compte d’un autre utilisateur.

[in] pvReserved2

Réservé pour une utilisation ultérieure et doit avoir la valeur NULL.

[out] phContext

Handle du contexte resource manager établi. Ce handle peut maintenant être fourni à d’autres fonctions qui tentent d’effectuer un travail dans ce contexte.

Valeur retournée

Si la fonction réussit, la fonction retourne SCARD_S_SUCCESS.

Si la fonction échoue, elle retourne un code d'erreur. Pour plus d’informations, consultez Valeurs de retour de carte à puce.

Remarques

Le handle de contexte retourné par SCardEstablishContext peut être utilisé par les fonctions de requête et de gestion de base de données. Pour plus d’informations, consultez Smart Card Database Query Functions et Smart Card Database Management Functions.

Pour libérer un contexte de gestionnaire de ressources établi, utilisez SCardReleaseContext.

Si le client tente une opération de carte intelligente dans une session distante, telle qu’une session cliente s’exécutant sur un serveur Terminal Server, et que le système d’exploitation utilisé ne prend pas en charge la redirection smart carte, cette fonction retourne ERROR_BROKEN_PIPE.

Exemples

L’exemple suivant établit un contexte 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.
    // ...
}

Configuration requise

   
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête winscard.h
Bibliothèque Winscard.lib
DLL Winscard.dll

Voir aussi

SCardReleaseContext