PC/SC Guide
Prox–DU & Prox–SU
www.gemalto.com
DOC119811A Public Use Page 39/129
SCardEstablishContext Function
The SCardEstablishContext function establishes the resource manager context (the scope)
within which database operations are performed.
Syntax:
LONG WINAPI SCardEstablishContext(
__in DWORD dwScope,
__in LPCVOID pvReserved1,
__in LPCVOID pvReserved2,
__out LPSCARDCONTEXT phContext
);
Parameters:
dwScope [in]
Scope of the resource manager context. This parameter can be one of the following
values:
SCARD_SCOPE_USER: Database operations are performed within the domain of
the user.
SCARD_SCOPE_SYSTEM: Database operations are performed within the domain
of the system. The calling application must have appropriate access permissions for
any database actions.
pvReserved1 [in]
Reserved for future use and must be NULL. This parameter will allow a suitably
privileged management application to act on behalf of another user.
pvReserved2 [in]
Reserved for future use and must be NULL.
phContext [out]
A handle to the established resource manager context. This handle can now be
supplied to other functions attempting to do work within this context.
Return Value:
If the function succeeds, the function returns SCARD_S_SUCCESS.
If the function fails, it returns an error code. For more information, see Smart Card Return
Values.
Remarks:
The context handle returned by SCardEstablishContext can be used by database query and
management functions. For more information, see Smart Card Database Query Functions
and Smart Card Database Management Functions.
To release an established resource manager context, use SCardReleaseContext.
If the client attempts a smart card operation in a remote session, such as a client session
running on a terminal server, and the operating system in use does not support smart card
redirection, this function returns ERROR_BROKEN_PIPE.
Examples:
The following example establishes a resource manager context.