struktur OPENCARDNAME_EXA (winscard.h)
Struktur OPENCARDNAME_EX berisi informasi yang digunakan fungsi SCardUIDlgSelectCard untuk menginisialisasi kotak dialog Pilih Kartu pintar.
Sintaks
typedef struct {
DWORD dwStructSize;
SCARDCONTEXT hSCardContext;
HWND hwndOwner;
DWORD dwFlags;
LPCSTR lpstrTitle;
LPCSTR lpstrSearchDesc;
HICON hIcon;
POPENCARD_SEARCH_CRITERIAA pOpenCardSearchCriteria;
LPOCNCONNPROCA lpfnConnect;
LPVOID pvUserData;
DWORD dwShareMode;
DWORD dwPreferredProtocols;
LPSTR lpstrRdr;
DWORD nMaxRdr;
LPSTR lpstrCard;
DWORD nMaxCard;
DWORD dwActiveProtocol;
SCARDHANDLE hCardHandle;
} OPENCARDNAME_EXA, *POPENCARDNAME_EXA, *LPOPENCARDNAME_EXA;
Anggota
dwStructSize
Panjangnya, dalam byte, dari struktur. Nilai anggota ini tidak boleh NULL.
hSCardContext
Konteks yang digunakan untuk komunikasi dengan manajer sumber dayakartu pintar. Panggil SCardEstablishContext untuk mengatur konteks manajer sumber daya dan SCardReleaseContext untuk merilisnya. Nilai anggota ini tidak boleh NULL.
hwndOwner
Jendela yang memiliki kotak dialog. Anggota ini bisa menjadi handel jendela yang valid, atau bisa NULL untuk default desktop.
dwFlags
Sekumpulan bendera bit yang bisa Anda gunakan untuk menginisialisasi kotak dialog. Saat kotak dialog kembali, kotak dialog mengatur bendera ini untuk menunjukkan input pengguna. Anggota ini bisa menjadi salah satu bendera berikut.
Nilai | Makna |
---|---|
|
Tampilkan kotak dialog hanya jika kartu yang sedang dicari oleh aplikasi panggilan tidak ditemukan dan tersedia untuk digunakan dalam pembaca. Ini memungkinkan kartu ditemukan, terhubung (baik melalui mekanisme kotak dialog internal atau fungsi panggilan balik pengguna), dan dikembalikan ke aplikasi panggilan. |
|
Paksa tidak ada tampilan antarmuka pengguna (UI) Pilih Kartu, terlepas dari hasil pencarian. |
|
Tampilan paksa UI Pilih Kartu , terlepas dari hasil pencarian. |
lpstrTitle
Penunjuk ke string yang akan ditempatkan di bilah judul kotak dialog. Jika anggota ini ADALAH NULL, sistem menggunakan judul default "Pilih Kartu:".
lpstrSearchDesc
Penunjuk ke string yang akan ditampilkan kepada pengguna sebagai perintah untuk menyisipkan kartu pintar. Jika anggota ini ADALAH NULL, sistem menggunakan teks default "Silakan masukkan kartu pintar".
hIcon
Handel ke ikon (32 x 32 piksel). Anda dapat menentukan ikon khusus vendor untuk ditampilkan dalam kotak dialog. Jika nilai ini NULL, ikon yang dimuat pembaca kartu pintar dan umum ditampilkan.
pOpenCardSearchCriteria
Penunjuk ke struktur OPENCARD_SEARCH_CRITERIA yang akan digunakan, atau NULL, jika tidak digunakan.
lpfnConnect
Penunjuk ke rutinitas koneksi kartu penelepon. Jika pemanggil perlu melakukan pemrosesan tambahan untuk menyambungkan ke kartu, penunjuk fungsi ini diatur ke fungsi sambungkan pengguna. Jika fungsi sambungkan berhasil, kartu dibiarkan tersambung dan diinisialisasi, dan handel kartu dikembalikan.
Prototipe untuk rutinitas sambungkan adalah sebagai berikut.
Connect(
hSCardContext, // the card context passed in the parameter block
szReader, // the name of the reader
mszCards, // multiple string that contains the possible
// card names in the reader
pvUserData // pointer to user data passed in parameter block
);
pvUserData
Penunjuk ke data pengguna yang kosong. Penunjuk ini diteruskan kembali ke penelepon pada rutinitas Sambungkan.
dwShareMode
Jika lpfnConnect bukan NULL, anggota dwShareMode dan dwPreferredProtocols diabaikan. Jika lpfnConnect adalah NULL dan dwShareMode bukan nol, panggilan internal dilakukan ke SCardConnect yang menggunakan dwShareMode dan dwPreferredProtocols sebagai parameter dwShareMode dan dwPreferredProtocols . Jika koneksi berhasil, hCardHandle diatur ke handel yang dikembalikan oleh SCardConnect. Jika lpfnConnect adalah NULL dan dwShareMode adalah nol, hCardHandle diatur ke NULL.
dwPreferredProtocols
Digunakan untuk koneksi internal seperti yang dijelaskan dalam dwShareMode.
lpstrRdr
Jika kartu berada, buffer lpstrRdr berisi nama pembaca yang berisi kartu yang terletak. Panjang buffer harus minimal 256 karakter.
nMaxRdr
Ukuran, dalam byte (versi ANSI) atau karakter (versi Unicode ), dari buffer yang diacu oleh lpstrRdr. Jika buffer terlalu kecil untuk berisi informasi pembaca, SCardUIDlgSelectCard mengembalikan SCARD_E_NO_MEMORY dan ukuran buffer yang diperlukan yang ditunjukkan oleh lpstrRdr.
lpstrCard
Jika kartu berada, buffer lpstrCard berisi nama kartu yang terletak. Panjang buffer harus minimal 256 karakter.
nMaxCard
Ukuran, dalam byte (versi ANSI) atau karakter (versi Unicode ), dari buffer yang diacu oleh lpstrCard. Jika buffer terlalu kecil untuk memuat informasi kartu, SCardUIDlgSelectCard mengembalikan SCARD_E_NO_MEMORY dan ukuran buffer yang diperlukan di nMaxCard.
dwActiveProtocol
Protokol aktual yang digunakan saat kotak dialog membuat koneksi ke kartu.
hCardHandle
Handel kartu yang tersambung (baik melalui kotak dialog internal sambungkan atau panggilan balik lpfnConnect ).
Keterangan
Catatan
Header winscard.h mendefinisikan OPENCARDNAME_EX 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] |
Header | winscard.h |
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