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
SC_DLG_MINIMAL_UI
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.
SC_DLG_NO_UI
Paksa tidak ada tampilan antarmuka pengguna (UI) Pilih Kartu, terlepas dari hasil pencarian.
SC_DLG_FORCE_UI
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

SCardConnect

SCardEstablishContext

SCardReleaseContext

SCardUIDlgSelectCard

Nilai Pengembalian Kartu Pintar