Bagikan melalui


Fungsi SetupDiOpenDeviceInfoA (setupapi.h)

Fungsi SetupDiOpenDeviceInfo menambahkan elemen informasi perangkat untuk instans perangkat ke kumpulan informasi perangkat, jika belum ada dalam kumpulan informasi perangkat, dan mengambil informasi yang mengidentifikasi elemen informasi perangkat untuk instans perangkat dalam kumpulan informasi perangkat.

Sintaks

WINSETUPAPI BOOL SetupDiOpenDeviceInfoA(
  [in]            HDEVINFO         DeviceInfoSet,
  [in]            PCSTR            DeviceInstanceId,
  [in, optional]  HWND             hwndParent,
  [in]            DWORD            OpenFlags,
  [out, optional] PSP_DEVINFO_DATA DeviceInfoData
);

Parameter

[in] DeviceInfoSet

Handel ke informasi perangkat yang diatur ke SetupDiOpenDeviceInfo menambahkan elemen informasi perangkat, jika belum ada, untuk instans perangkat yang ditentukan oleh DeviceInstanceId.

[in] DeviceInstanceId

Penunjuk ke string yang dihentikan NULL yang memasok pengidentifikasi instans perangkat perangkat (misalnya, "Root*PNP0500\0000"). Jika DeviceInstanceIdadalah NULL atau mereferensikan string panjang nol, SetupDiOpenDeviceInfo menambahkan elemen informasi perangkat ke kumpulan informasi perangkat yang disediakan, jika belum ada, untuk perangkat akar di pohon perangkat.

[in, optional] hwndParent

Handel ke jendela tingkat atas yang akan digunakan untuk antarmuka pengguna apa pun yang terkait dengan penginstalan perangkat.

[in] OpenFlags

Variabel jenis DWORD yang mengontrol cara elemen informasi perangkat dibuka. Nilai parameter ini dapat berupa satu atau beberapa hal berikut:

DIOD_CANCEL_REMOVE

Jika bendera ini ditentukan dan perangkat telah ditandai untuk penghapusan tertunda, sistem operasi membatalkan penghapusan yang tertunda.

DIOD_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.

Jika elemen informasi perangkat sudah ada, daftar driver kelasnya, jika ada, diganti dengan daftar yang diwariskan.

[out, optional] DeviceInfoData

Penunjuk ke struktur SP_DEVINFO_DATA yang disediakan penelepon yang menerima informasi tentang elemen informasi perangkat untuk instans perangkat yang ditentukan oleh DeviceInstanceId. Pemanggil harus mengatur cbSize ke sizeof(SP_DEVINFO_DATA). Parameter ini bersifat opsional dan dapat berupa NULL.

Nilai kembali

SetupDiOpenDeviceInfo mengembalikan TRUE jika berhasil. Jika tidak, fungsi mengembalikan FALSE dan kesalahan yang dicatat dapat diambil dengan panggilan ke GetLastError.

Keterangan

Jika instans perangkat ini ditambahkan ke set yang memiliki kelas terkait, kelas perangkat harus sama atau panggilan akan gagal. Dalam hal ini, panggilan ke GetLastError mengembalikan ERROR_CLASS_MISMATCH.

Jika elemen informasi perangkat baru berhasil dibuka tetapi buffer DeviceInfoData yang disediakan penelepon tidak valid, fungsi ini mengembalikan FALSE. Dalam hal ini, panggilan ke GetLastError mengembalikan ERROR_INVALID_USER_BUFFER. Namun, elemen informasi perangkat ditambahkan sebagai anggota baru dari set.

Catatan

Header setupapi.h mendefinisikan SetupDiOpenDeviceInfo 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

SetupDiCreateDeviceInfo

SetupDiDeleteDeviceInfo

SetupDiEnumDeviceInfo