Bagikan melalui


SetupDiCreateDeviceInterfaceW (setupapi.h)

Fungsi SetupDiCreateDeviceInterface mendaftarkan antarmuka perangkat pada sistem lokal atau sistem jarak jauh.

Sintaks

WINSETUPAPI BOOL SetupDiCreateDeviceInterfaceW(
  [in]            HDEVINFO                  DeviceInfoSet,
  [in]            PSP_DEVINFO_DATA          DeviceInfoData,
  [in]            const GUID                *InterfaceClassGuid,
  [in, optional]  PCWSTR                    ReferenceString,
  [in]            DWORD                     CreationFlags,
  [out, optional] PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData
);

Parameter

[in] DeviceInfoSet

Handel ke kumpulan informasi perangkat. Set ini berisi elemen informasi perangkat yang mewakili perangkat untuk mendaftarkan antarmuka. Handel ini biasanya dikembalikan oleh SetupDiGetClassDevs.

[in] DeviceInfoData

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

[in] InterfaceClassGuid

Pointer ke GUID kelas yang menentukan kelas antarmuka untuk antarmuka baru.

[in, optional] ReferenceString

Penunjuk ke string yang dihentikan NULL yang menyediakan string referensi. Penunjuk ini bersifat opsional dan dapat berupa NULL. String referensi hanya digunakan oleh beberapa driver bus yang menggunakan antarmuka perangkat sebagai tempat penampung untuk perangkat lunak yang dibuat sesuai permintaan.

[in] CreationFlags

Dicadangkan. Harus nol.

[out, optional] DeviceInterfaceData

Penunjuk ke struktur SP_DEVICE_INTERFACE_DATA yang diinisialisasi pemanggil untuk menerima informasi tentang antarmuka perangkat baru. Penunjuk ini bersifat opsional dan dapat berupa NULL. Jika struktur disediakan, pemanggil harus mengatur anggota cbSize dari struktur ini ke sizeof(SP_DEVICE_INTERFACE_DATA) sebelum memanggil fungsi ini. Untuk informasi selengkapnya, lihat bagian Keterangan berikut ini.

Mengembalikan nilai

SetupDiCreateDeviceInterface mengembalikan TRUE jika fungsi selesai tanpa kesalahan. Jika fungsi selesai dengan kesalahan, fungsi mengembalikan FALSE dan kode kesalahan untuk kegagalan dapat diambil dengan memanggil GetLastError.

Keterangan

Pemanggil fungsi ini harus menjadi anggota grup Administrator.

SetupDiCreateDeviceInterface mendaftarkan antarmuka untuk perangkat. Jika perangkat memiliki lebih dari satu antarmuka, panggil fungsi ini sekali untuk setiap antarmuka yang didaftarkan.

Jika fungsi ini berhasil mendaftarkan antarmuka untuk perangkat yang sesuai dengan elemen informasi perangkat yang ditentukan, fungsi ini juga menambahkan antarmuka ke daftar antarmuka yang terkait dengan elemen informasi perangkat dalam kumpulan informasi perangkat yang ditentukan.

Sebelum antarmuka terdaftar dapat digunakan oleh aplikasi dan komponen sistem lainnya, antarmuka harus diaktifkan oleh driver untuk perangkat.

Fungsi ini membuat kunci registri untuk antarmuka perangkat baru. Penelepon fungsi ini dapat mengakses penyimpanan nonvolatile di bawah kunci ini menggunakan SetupDiOpenDeviceInterfaceRegKey.

Jika SetupDiCreateDeviceInterface berhasil membuat antarmuka perangkat baru, tetapi buffer yang disediakan pemanggil dalam parameter DeviceInterfaceData tidak valid, fungsi ini akan mengembalikan FALSE dan panggilan berikutnya ke GetLastError akan mengembalikan ERROR_INVALID_USER_BUFFER. Namun, fungsi ini membuat dan mendaftarkan antarmuka perangkat baru.

Catatan

Header setupapi.h mendefinisikan SetupDiCreateDeviceInterface sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praproscessor 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

SetupDiOpenDeviceInterfaceRegKey

SetupDiRemoveDeviceInterface