Fungsi SCardConnectA (winscard.h)
Fungsi SCardConnect membuat koneksi (menggunakan konteks manajer sumber daya tertentu) antara aplikasi panggilan dan kartu pintar yang dimuat oleh pembaca tertentu. Jika tidak ada kartu di pembaca yang ditentukan, kesalahan akan dikembalikan.
Sintaks
LONG SCardConnectA(
[in] SCARDCONTEXT hContext,
[in] LPCSTR szReader,
[in] DWORD dwShareMode,
[in] DWORD dwPreferredProtocols,
[out] LPSCARDHANDLE phCard,
[out] LPDWORD pdwActiveProtocol
);
Parameter
[in] hContext
Handel yang mengidentifikasi konteks resource manager. Konteks manajer sumber daya diatur oleh panggilan sebelumnya ke SCardEstablishContext.
[in] szReader
Nama pembaca yang berisi kartu target.
[in] dwShareMode
Bendera yang menunjukkan apakah aplikasi lain dapat membentuk koneksi ke kartu.
[in] dwPreferredProtocols
Bitmask protokol yang dapat diterima untuk koneksi. Nilai yang mungkin digabungkan dengan operasi OR .
Nilai | Makna |
---|---|
|
T=0 adalah protokol yang dapat diterima. |
|
T=1 adalah protokol yang dapat diterima. |
|
Parameter ini mungkin nol hanya jika dwShareMode diatur ke SCARD_SHARE_DIRECT. Dalam hal ini, tidak ada negosiasi protokol yang akan dilakukan oleh driver sampai direktif kontrol IOCTL_SMARTCARD_SET_PROTOCOL dikirim dengan SCardControl. |
[out] phCard
Handel yang mengidentifikasi koneksi ke kartu pintar di pembaca yang ditunjuk.
[out] pdwActiveProtocol
Bendera yang menunjukkan protokol aktif yang ditetapkan.
Nilai | Makna |
---|---|
|
T=0 adalah protokol aktif. |
|
T=1 adalah protokol aktif. |
|
SCARD_SHARE_DIRECT telah ditentukan, sehingga tidak ada negosiasi protokol yang terjadi. Ada kemungkinan bahwa tidak ada kartu di pembaca. |
Nilai kembali
Fungsi ini mengembalikan nilai yang berbeda tergantung pada apakah berhasil atau gagal.
Menampilkan kode | Deskripsi |
---|---|
|
SCARD_S_SUCCESS. |
|
Kode kesalahan. Untuk informasi selengkapnya, lihat Nilai Pengembalian Kartu Pintar. |
|
Pembaca tak bisa tersambung ke kartu. |
Keterangan
Fungsi SCardConnect adalah kartu pintar dan fungsi akses pembaca . Untuk informasi selengkapnya tentang fungsi akses lainnya, lihat Fungsi Akses Kartu Pintar dan Pembaca.
Contoh
Contoh berikut membuat koneksi ke pembaca. Contoh mengasumsikan bahwa hContext adalah handel yang valid dari jenis SCARDCONTEXT yang diterima dari panggilan sebelumnya ke SCardEstablishContext.
SCARDHANDLE hCardHandle;
LONG lReturn;
DWORD dwAP;
lReturn = SCardConnect( hContext,
(LPCTSTR)"Rainbow Technologies SCR3531 0",
SCARD_SHARE_SHARED,
SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1,
&hCardHandle,
&dwAP );
if ( SCARD_S_SUCCESS != lReturn )
{
printf("Failed SCardConnect\n");
exit(1); // Or other appropriate action.
}
// Use the connection.
// Display the active protocol.
switch ( dwAP )
{
case SCARD_PROTOCOL_T0:
printf("Active protocol T0\n");
break;
case SCARD_PROTOCOL_T1:
printf("Active protocol T1\n");
break;
case SCARD_PROTOCOL_UNDEFINED:
default:
printf("Active protocol unnegotiated or unknown\n");
break;
}
// Remember to disconnect (by calling SCardDisconnect).
// ...
Catatan
Header winscard.h mendefinisikan SCardConnect sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
Persyaratan
Persyaratan | Nilai |
---|---|
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk