SetupDiGetDeviceInterfaceAlias (setupapi.h)
Fungsi SetupDiGetDeviceInterfaceAlias mengembalikan alias antarmuka perangkat tertentu.
Sintaks
WINSETUPAPI BOOL SetupDiGetDeviceInterfaceAlias(
[in] HDEVINFO DeviceInfoSet,
[in] PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
[in] const GUID *AliasInterfaceClassGuid,
[out] PSP_DEVICE_INTERFACE_DATA AliasDeviceInterfaceData
);
Parameter
[in] DeviceInfoSet
Penunjuk ke kumpulan informasi perangkat yang berisi antarmuka perangkat untuk mengambil alias. Handel ini biasanya dikembalikan oleh SetupDiGetClassDevs.
[in] DeviceInterfaceData
Penunjuk ke struktur SP_DEVICE_INTERFACE_DATA yang menentukan antarmuka perangkat di DeviceInfoSet untuk mengambil alias. Pointer ini biasanya dikembalikan oleh SetupDiEnumDeviceInterfaces.
[in] AliasInterfaceClassGuid
Penunjuk ke GUID yang menentukan kelas antarmuka alias untuk diambil.
[out] AliasDeviceInterfaceData
Penunjuk ke buffer yang dialokasikan penelepon yang berisi, saat pengembalian berhasil, struktur SP_DEVICE_INTERFACE_DATA lengkap yang mengidentifikasi alias yang diminta. Pemanggil harus mengatur AliasDeviceInterfaceData.cbSize ke sizeof(SP_DEVICE_INTERFACE_DATA) sebelum memanggil fungsi ini.
Nilai kembali
SetupDiGetDeviceInterfaceAlias mengembalikan TRUE jika fungsi selesai tanpa kesalahan. Jika fungsi selesai dengan kesalahan, FALSE dikembalikan dan kode kesalahan untuk kegagalan dapat diambil dengan memanggil GetLastError.
Kemungkinan kesalahan yang dikembalikan oleh GetLastError tercantum dalam tabel berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Parameter DeviceInfoSet atau DeviceInterfaceData tidak valid. |
|
Tidak ada alias kelas AliasInterfaceClassGuid untuk antarmuka perangkat yang ditentukan. |
|
Buffer AliasDeviceInterfaceData tidak valid. |
Keterangan
Antarmuka perangkat dianggap alias jika mereka dari kelas antarmuka yang berbeda tetapi didukung oleh perangkat yang sama dan memiliki string referensi yang identik.
SetupDiGetDeviceInterfaceAlias dapat digunakan untuk menemukan perangkat yang mengekspos lebih dari satu antarmuka. Misalnya, pertimbangkan disk yang dapat menjadi bagian dari volume yang toleran terhadap kesalahan dan dapat berisi data terenkripsi. Driver fungsi untuk perangkat disk dapat mendaftarkan antarmuka fault-tolerant-volume dan antarmuka volume terenkripsi. Antarmuka ini adalah alias antarmuka perangkat jika driver fungsi mendaftarkannya dengan string referensi yang identik dan mereka merujuk ke perangkat yang sama. (String referensi kemungkinan akan NULL dan oleh karena itu sama.)
Untuk menemukan perangkat multi-antarmuka seperti itu, pertama-tama temukan semua perangkat yang tersedia yang mengekspos salah satu antarmuka, seperti antarmuka fault-tolerant-volume, menggunakan SetupDiGetClassDevs dan SetupDiEnumDeviceInterfaces. Kemudian, teruskan perangkat dengan antarmuka pertama (fault-tolerant-volume) ke SetupDiGetDeviceInterfaceAlias dan minta alias kelas antarmuka lainnya (volume terenkripsi).
Jika alias yang diminta ada tetapi buffer AliasDeviceInterfaceData yang disediakan pemanggil tidak valid, fungsi ini berhasil menambahkan elemen antarmuka perangkat ke DevInfoSet tetapi mengembalikan FALSE untuk nilai yang dikembalikan. Dalam hal ini, GetLastError mengembalikan ERROR_INVALID_USER_BUFFER.
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 |
DLL | Setupapi.dll |