Fungsi SetupDiCreateDeviceInfoA (setupapi.h)
Fungsi SetupDiCreateDeviceInfo membuat elemen informasi perangkat baru dan menambahkannya sebagai anggota baru ke kumpulan informasi perangkat yang ditentukan.
Sintaks
WINSETUPAPI BOOL SetupDiCreateDeviceInfoA(
[in] HDEVINFO DeviceInfoSet,
[in] PCSTR DeviceName,
[in] const GUID *ClassGuid,
[in, optional] PCSTR DeviceDescription,
[in, optional] HWND hwndParent,
[in] DWORD CreationFlags,
[out, optional] PSP_DEVINFO_DATA DeviceInfoData
);
Parameter
[in] DeviceInfoSet
Handel ke informasi perangkat yang ditetapkan untuk komputer lokal.
[in] DeviceName
Penunjuk ke string yang dihentikan NULL yang menyediakan ID instans perangkat lengkap (misalnya, "Root*PNP0500\0000") atau ID perangkat yang dijumlahkan root tanpa awalan enumerator dan akhiran pengidentifikasi instans (misalnya, "*PNP0500"). Pengidentifikasi perangkat yang dijumlahkan akar hanya dapat digunakan jika bendera DICD_GENERATE_ID ditentukan dalam parameter CreationFlags .
[in] ClassGuid
Penunjuk ke GUID kelas penyiapan perangkat untuk perangkat. Jika kelas penyiapan perangkat perangkat tidak diketahui, atur *ClassGuid ke struktur GUID_NULL.
[in, optional] DeviceDescription
Penunjuk ke string yang dihentikan NULL yang menyediakan deskripsi teks perangkat. Penunjuk ini bersifat opsional dan dapat berupa NULL.
[in, optional] hwndParent
Handel ke jendela tingkat atas yang akan digunakan untuk antarmuka pengguna apa pun yang terkait dengan penginstalan perangkat. Handel ini bersifat opsional dan dapat berupa NULL.
[in] CreationFlags
Variabel jenis DWORD yang mengontrol cara elemen informasi perangkat dibuat. Bisa menjadi kombinasi dari nilai berikut:
DICD_GENERATE_ID
Jika bendera ini ditentukan, DeviceName hanya berisi ID perangkat berjumlah Root dan sistem menggunakan ID tersebut untuk menghasilkan ID instans perangkat lengkap untuk elemen informasi perangkat baru.
Panggil SetupDiGetDeviceInstanceId untuk mengambil ID instans perangkat yang dihasilkan untuk elemen informasi perangkat ini.
DICD_INHERIT_CLASSDRVS
Jika bendera ini ditentukan, elemen informasi perangkat yang dihasilkan mewarisi daftar driver kelas, jika ada, yang terkait dengan kumpulan informasi perangkat. Selain itu, jika ada driver yang dipilih untuk set informasi perangkat, driver yang sama dipilih untuk elemen informasi perangkat baru.
[out, optional] DeviceInfoData
Penunjuk ke struktur SP_DEVINFO_DATA yang menerima elemen informasi perangkat baru. Penunjuk ini bersifat opsional dan dapat berupa NULL. Jika struktur disediakan, pemanggil harus mengatur anggota cbSize dari struktur ini ke sizeof(SP_DEVINFO_DATA) sebelum memanggil fungsi. Untuk informasi selengkapnya, lihat bagian Keterangan berikut ini.
Nilai kembali
Fungsi mengembalikan TRUE jika berhasil. Jika tidak, ia mengembalikan FALSE dan kesalahan yang dicatat dapat diambil dengan melakukan panggilan ke GetLastError.
Keterangan
Pemanggil fungsi ini harus menjadi anggota grup Administrator.
Jika instans perangkat ini ditambahkan ke set yang memiliki kelas terkait, kelas perangkat harus sama atau panggilan gagal. Dalam hal ini, panggilan ke GetLastError mengembalikan ERROR_CLASS_MISMATCH.
Jika instans perangkat yang ditentukan sama dengan kunci instans perangkat yang ada di registri, panggilan gagal. Dalam hal ini, panggilan ke GetLastError mengembalikan ERROR_DEVINST_ALREADY_EXISTS. Ini hanya terjadi jika bendera DICD_GENERATE_ID tidak diatur.
Jika elemen informasi perangkat baru berhasil dibuat tetapi buffer DeviceInfoData yang disediakan pemanggil tidak valid, fungsi mengembalikan FALSE. Dalam hal ini, panggilan ke GetLastError mengembalikan ERROR_INVALID_USER_BUFFER. Namun, elemen informasi perangkat akan ditambahkan sebagai anggota baru dari set tersebut.
DeviceInfoSet hanya boleh berisi elemen pada komputer lokal.
Catatan
Header setupapi.h mendefinisikan SetupDiCreateDeviceInfo sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosem 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 | Tersedia di Microsoft Windows 2000 dan versi Windows yang lebih baru. |
Target Platform | Desktop |
Header | setupapi.h (termasuk Setupapi.h) |
Pustaka | Setupapi.lib |