Bagikan melalui


Fungsi SetupDiCreateDeviceInfoW (setupapi.h)

Fungsi SetupDiCreateDeviceInfo membuat elemen informasi perangkat baru dan menambahkannya sebagai anggota baru ke kumpulan informasi perangkat yang ditentukan.

Sintaks

WINSETUPAPI BOOL SetupDiCreateDeviceInfoW(
  [in]            HDEVINFO         DeviceInfoSet,
  [in]            PCWSTR           DeviceName,
  [in]            const GUID       *ClassGuid,
  [in, optional]  PCWSTR           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.

Mengembalikan nilai

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

Persyaratan Nilai
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

Lihat juga

SP_DEVINFO_DATA

SetupDiDeleteDeviceInfo

SetupDiEnumDeviceInfo

SetupDiOpenDeviceInfo