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
ERROR_INVALID_PARAMETER
Parameter DeviceInfoSet atau DeviceInterfaceData tidak valid.
ERROR_NO_SUCH_INTERFACE_DEVICE
Tidak ada alias kelas AliasInterfaceClassGuid untuk antarmuka perangkat yang ditentukan.
ERROR_INVALID_USER_BUFFER
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

Lihat juga

SetupDiEnumDeviceInterfaces

SetupDiGetClassDevs