Fungsi SCardGetReaderDeviceInstanceIdA (winscard.h)
Fungsi SCardGetReaderDeviceInstanceId mendapatkan pengidentifikasi instans perangkat pembaca kartu untuk nama pembaca yang diberikan. Fungsi ini tidak memengaruhi status pembaca.
Sintaks
LONG SCardGetReaderDeviceInstanceIdA(
[in] SCARDCONTEXT hContext,
[in] LPCSTR szReaderName,
[out, optional] LPSTR szDeviceInstanceId,
[in, out] LPDWORD pcchDeviceInstanceId
);
Parameter
[in] hContext
Menangani yang mengidentifikasi konteks resource manager untuk kueri. Anda dapat mengatur konteks resource manager dengan panggilan sebelumnya ke fungsi SCardEstablishContext . Parameter ini tidak boleh NULL.
[in] szReaderName
Nama pembaca. Anda bisa mendapatkan nilai ini dengan memanggil fungsi SCardListReaders .
[out, optional] szDeviceInstanceId
Buffer yang menerima ID instans perangkat pembaca. Jika nilai ini adalah NULL, fungsi mengabaikan panjang buffer yang disediakan dalam parameter cchDeviceInstanceId , menulis panjang buffer yang akan dikembalikan jika parameter ini belum NULL ke cchDeviceInstanceId, dan mengembalikan kode keberhasilan.
[in, out] pcchDeviceInstanceId
Panjang, dalam karakter, dari buffer szDeviceInstanceId , termasuk terminator NULL . Jika panjang buffer ditentukan sebagai SCARD_AUTOALLOCATE, maka parameter szDeviceInstanceId dikonversi ke penunjuk ke penunjuk byte, dan menerima alamat blok memori yang berisi id instans. Blok memori ini harus dialokasikan dengan fungsi SCardFreeMemory .
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. |
Keterangan
Fungsi ini tidak dialihkan. Memanggil fungsi SCardGetReaderDeviceInstanceId saat di dalam sesi Desktop Jauh gagal dengan kode kesalahan SCARD_E_READER_UNAVAILABLE.
Contoh
LONG lReturn;
LPTSTR szReaderName = "USB Smart Card Reader 0";
WCHAR szDeviceInstanceId[256];
DWORD cchDeviceInstanceId = 256;
// Retrieve the reader's device instance ID.
// hContext was set by a previous call to SCardEstablishContext.
lReturn = SCardGetReaderDeviceInstanceId (hContext,
szReaderName,
szDeviceInstanceId,
&cchDeviceInstanceId);
if ( SCARD_S_SUCCESS != lReturn )
{
printf("Failed SCardGetReaderDeviceInstanceId - %x\n", lReturn);
// Take appropriate action.
}
Catatan
Header winscard.h mendefinisikan SCardGetReaderDeviceInstanceId sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprocessor 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
Klien minimum yang didukung | Windows 8 [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2012 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | winscard.h |
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