Bagikan melalui


Fungsi SetupDiCreateDevRegKeyA (setupapi.h)

Fungsi SetupDiCreateDevRegKey membuat kunci registri untuk informasi konfigurasi khusus perangkat dan mengembalikan handel ke kunci.

Sintaksis

WINSETUPAPI HKEY SetupDiCreateDevRegKeyA(
  [in]           HDEVINFO         DeviceInfoSet,
  [in]           PSP_DEVINFO_DATA DeviceInfoData,
  [in]           DWORD            Scope,
  [in]           DWORD            HwProfile,
  [in]           DWORD            KeyType,
  [in, optional] HINF             InfHandle,
  [in, optional] PCSTR            InfSectionName
);

Parameter

[in] DeviceInfoSet

Handel ke kumpulan informasi perangkat yang berisi elemen informasi perangkat yang mewakili perangkat untuk membuat kunci registri.

[in] DeviceInfoData

Penunjuk ke struktur SP_DEVINFO_DATA yang menentukan elemen informasi perangkat di DeviceInfoSet.

[in] Scope

Cakupan kunci registri yang akan dibuat. Cakupan menentukan di mana informasi disimpan. Kunci yang dibuat dapat spesifik profil global atau perangkat keras. Bisa menjadi salah satu nilai berikut:

DICS_FLAG_GLOBAL

Buat kunci untuk menyimpan informasi konfigurasi global. Informasi ini tidak spesifik untuk profil perangkat keras tertentu. Pada sistem operasi berbasis NT, ini membuat kunci yang berakar pada HKEY_LOCAL_MACHINE. Kunci yang tepat dibuka tergantung pada nilai parameter KeyType .

DICS_FLAG_CONFIGSPECIFIC

Buat kunci untuk menyimpan informasi konfigurasi khusus profil perangkat keras. Kunci ini berakar pada salah satu cabang khusus profil perangkat keras, bukan HKEY_LOCAL_MACHINE.

[in] HwProfile

Profil perangkat keras untuk membuat kunci jika HwProfileFlags diatur ke SPDICS_FLAG_CONFIGSPECIFIC. Jika HwProfile adalah 0, kunci untuk profil perangkat keras saat ini dibuat. Jika HwProfileFlags SPDICS_FLAG_GLOBAL, HwProfile diabaikan.

[in] KeyType

Jenis kunci penyimpanan registri yang akan dibuat. Bisa menjadi salah satu nilai berikut:

DIREG_DEV

Buat kunci perangkat keras untuk perangkat.

DIREG_DRV

Buat kunci perangkat lunak untuk perangkat.

[in, optional] InfHandle

Handel ke file INF terbuka yang berisi bagian INF DDInstall yang akan dijalankan untuk kunci yang baru dibuat. Parameter ini bersifat opsional dan dapat NULL. Jika parameter ini ditentukan, InfSectionName juga harus ditentukan.

[in, optional] InfSectionName

Nama bagian INF DDInstall dalam file INF yang ditentukan oleh InfHandle. Bagian ini dijalankan untuk kunci yang baru dibuat. Parameter ini bersifat opsional dan dapat NULL. Jika parameter ini ditentukan, InfHandle juga harus ditentukan.

Mengembalikan nilai

Jika SetupDiCreateDevRegKey berhasil, fungsi mengembalikan handel ke kunci registri yang ditentukan tempat data konfigurasi khusus perangkat dapat disimpan dan diambil. Jika SetupDiCreateDevRegKey gagal, fungsi mengembalikan INVALID_HANDLE_VALUE. Panggil GetLastError untuk mendapatkan informasi kesalahan yang diperluas.

Komentar

Pemanggil SetupDiCreateDevRegKey harus menjadi anggota grup Administrator.

Tutup handel yang dikembalikan dari SetupDiCreateDevRegKey dengan memanggil RegCloseKey.

Jika kunci yang ditentukan sudah ada, SetupDiCreateDevRegKey mengembalikan handel ke kunci tersebut. Jika tidak, SetupDiCreateDevRegKey membuat kunci yang ditentukan dan mengembalikan handel ke kunci baru. Untuk Windows Server 2003 dan versi Windows yang lebih baru, handel kunci hanya memiliki akses KEY_READ dan KEY_WRITE. Untuk versi Windows sebelumnya, handel ini memiliki akses KEY_ALL_ACCESS.

Instans perangkat yang ditentukan harus didaftarkan sebelum SetupDiCreateDevRegKey dipanggil. Namun, perhatikan bahwa sistem operasi secara otomatis mendaftarkan instans perangkat PnP. Untuk informasi tentang cara mendaftarkan instans perangkat non-PnP, lihat SetupDiRegisterDeviceInfo.

Untuk penginstalan yang menggunakan file tata letak (ditentukan oleh entri LayoutFile di bagian Versi INF ), file tata letak harus dibuka dengan panggilan ke SetupOpenAppendInfFile (dijelaskan dalam dokumentasi Microsoft Windows SDK) sebelum SetupDiCreateDevRegKey dipanggil.

Jika kumpulan informasi perangkat yang disediakan berisi elemen informasi perangkat untuk sistem jarak jauh, dan InfHandle dan InfSectionName juga ditentukan, permintaan pembuatan akan gagal, dan panggilan berikutnya ke GetLastError akan mengembalikan ERROR_REMOTE_REQUEST_UNSUPPORTED.

Nota

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

Syarat Nilai
klien minimum yang didukung Tersedia di Microsoft Windows 2000 dan versi Windows yang lebih baru.
Platform Target Desktop
Header setupapi.h (termasuk Setupapi.h)
Pustaka Setupapi.lib

Lihat juga

SetupDiCreateDeviceInfo

SetupDiGetHwProfileList

SetupDiOpenDevRegKey

SetupDiRegisterDeviceInfo