Fungsi SCardEstablishContext (winscard.h)

Fungsi SCardEstablishContext menetapkan konteks manajer sumber daya (cakupan) di mana operasi database dilakukan.

Sintaks

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

Parameter

[in] dwScope

Cakupan konteks resource manager. Parameter ini bisa menjadi salah satu nilai berikut.

Nilai Makna
SCARD_SCOPE_USER
Operasi database dilakukan dalam domain pengguna.
SCARD_SCOPE_SYSTEM
Operasi database dilakukan dalam domain sistem. Aplikasi panggilan harus memiliki izin akses yang sesuai untuk tindakan database apa pun.

[in] pvReserved1

Dicadangkan untuk penggunaan di masa mendatang dan harus NULL. Parameter ini akan memungkinkan aplikasi manajemen istimewa yang sesuai untuk bertindak atas nama pengguna lain.

[in] pvReserved2

Dicadangkan untuk penggunaan di masa mendatang dan harus NULL.

[out] phContext

Handel ke konteks resource manager yang ditetapkan. Handel ini sekarang dapat diberikan ke fungsi lain yang mencoba melakukan pekerjaan dalam konteks ini.

Nilai kembali

Jika fungsi berhasil, fungsi akan mengembalikan SCARD_S_SUCCESS.

Jika fungsi gagal, fungsi akan mengembalikan kode kesalahan. Untuk informasi selengkapnya, lihat Nilai Pengembalian Kartu Pintar.

Keterangan

Handel konteks yang dikembalikan oleh SCardEstablishContext dapat digunakan oleh fungsi kueri dan manajemen database. Untuk informasi selengkapnya, lihat Fungsi Kueri Database Kartu Pintar dan Fungsi Manajemen Database Kartu Pintar.

Untuk merilis konteks resource manager yang mapan, gunakan SCardReleaseContext.

Jika klien mencoba operasi kartu pintar dalam sesi jarak jauh, seperti sesi klien yang berjalan di server terminal, dan sistem operasi yang digunakan tidak mendukung pengalihan kartu pintar, fungsi ini mengembalikan ERROR_BROKEN_PIPE.

Contoh

Contoh berikut menetapkan konteks 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.
    // ...
}

Persyaratan

   
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header winscard.h
Pustaka Winscard.lib
DLL Winscard.dll

Lihat juga

SCardReleaseContext