fungsi CM_Get_Device_ID_ListA (cfgmgr32.h)

Fungsi CM_Get_Device_ID_List mengambil daftar ID instans perangkat untuk instans perangkat komputer lokal.

Sintaks

CMAPI CONFIGRET CM_Get_Device_ID_ListA(
  [in, optional] PCSTR  pszFilter,
  [out]          PZZSTR Buffer,
  [in]           ULONG  BufferLen,
  [in]           ULONG  ulFlags
);

Parameter

[in, optional] pszFilter

Penunjuk yang disediakan penelepon ke string karakter yang diatur ke subset pengidentifikasi instans perangkat (ID) komputer, atau ke NULL. Lihat deskripsi ulFlags berikut.

[out] Buffer

Alamat buffer untuk menerima sekumpulan string pengidentifikasi instans perangkat yang dihentikan NULL. Akhir set dihentikan oleh NULL tambahan. Ukuran buffer yang diperlukan harus diperoleh dengan memanggil CM_Get_Device_ID_List_Size.

[in] BufferLen

Panjang yang disediakan pemanggil, dalam karakter, dari buffer yang ditentukan oleh Buffer.

[in] ulFlags

Salah satu bendera bit yang disediakan pemanggil berikut yang menentukan filter pencarian:

CM_GETIDLIST_FILTER_BUSRELATIONS

Jika bendera ini diatur, pszFilter harus menentukan pengidentifikasi instans perangkat. Fungsi mengembalikan ID instans perangkat untuk relasi bus dari instans perangkat yang ditentukan.

CM_GETIDLIST_FILTER_CLASS (Windows 7 dan versi Windows yang lebih baru)

Jika bendera ini diatur, pszFilter berisi string yang menentukan GUID kelas penyiapan perangkat . Daftar yang dikembalikan berisi instans perangkat yang propertinya (direferensikan oleh konstanta CM_DRP_CLASSGUID) cocok dengan GUID kelas penyiapan perangkat yang ditentukan.

Konstanta CM_DRP_CLASSGUID ditentukan dalam Cfgmgr32.h.

CM_GETIDLIST_FILTER_PRESENT (Windows 7 dan versi Windows yang lebih baru)

Jika bendera ini diatur, daftar yang dikembalikan hanya berisi instans perangkat yang saat ini ada di sistem. Nilai ini dapat dikombinasikan dengan nilai ulFlags lainnya, seperti CM_GETIDLIST_FILTER_CLASS.

CM_GETIDLIST_FILTER_TRANSPORTRELATIONS (Windows 7 dan versi Windows yang lebih baru)

Jika bendera ini diatur, pszFilter harus menentukan pengidentifikasi instans perangkat dari simpul perangkat komposit (devnode).

Fungsi mengembalikan pengidentifikasi instans perangkat dari devnode yang mewakili hubungan transportasi dari devnode komposit yang ditentukan.

Untuk informasi selengkapnya tentang devnode komposit dan hubungan transportasi, lihat bagian Keterangan berikut ini.

CM_GETIDLIST_DONOTGENERATE

Digunakan hanya dengan CM_GETIDLIST_FILTER_SERVICE. Jika diatur, dan jika pohon perangkat tidak berisi devnode untuk layanan yang ditentukan, bendera ini mencegah fungsi membuat devnode untuk layanan.

CM_GETIDLIST_FILTER_EJECTRELATIONS

Jika bendera ini diatur, pszFilter harus menentukan pengidentifikasi instans perangkat. Fungsi mengembalikan ID instans perangkat untuk relasi ejeksi instans perangkat yang ditentukan.

CM_GETIDLIST_FILTER_ENUMERATOR

Jika bendera ini diatur, pszFilter harus menentukan nama enumerator perangkat, secara opsional diikuti oleh ID perangkat. Format string adalah EnumeratorName\<DeviceID>, seperti ROOT atau ROOT\*PNP0500.

Jika pszFilter hanya menyediakan nama enumerator, fungsi mengembalikan ID instans perangkat untuk instans setiap perangkat yang terkait dengan enumerator. Nama enumerator dapat diperoleh dengan memanggil CM_Enumerate_Enumerators.

Jika pszFilter memasok enumerator dan ID perangkat, fungsi mengembalikan ID instans perangkat hanya untuk instans perangkat yang ditentukan yang terkait dengan enumerator.

CM_GETIDLIST_FILTER_NONE

Jika bendera ini diatur, pszFilter diabaikan, dan daftar semua perangkat pada sistem dikembalikan.

CM_GETIDLIST_FILTER_POWERRELATIONS

Jika bendera ini diatur, pszFilter harus menentukan pengidentifikasi instans perangkat. Fungsi mengembalikan ID instans perangkat untuk relasi daya instans perangkat yang ditentukan.

CM_GETIDLIST_FILTER_REMOVALRELATIONS

Jika bendera ini diatur, pszFilter harus menentukan pengidentifikasi instans perangkat. Fungsi mengembalikan ID instans perangkat untuk relasi penghapusan instans perangkat yang ditentukan.

CM_GETIDLIST_FILTER_SERVICE

Jika bendera ini diatur, pszFilter harus menentukan nama layanan Microsoft Windows (biasanya driver). Fungsi ini mengembalikan ID instans perangkat untuk instans perangkat yang dikontrol oleh layanan yang ditentukan.

Perhatikan bahwa jika pohon perangkat tidak berisi devnode untuk layanan yang ditentukan, fungsi ini membuatnya secara default. Untuk menghambat perilaku ini, atur juga CM_GETIDLIST_DONOTGENERATE.

Jika tidak ada bendera filter pencarian yang ditentukan, fungsi mengembalikan semua ID instans perangkat untuk semua instans perangkat.

Menampilkan nilai

Jika operasi berhasil, fungsi akan mengembalikan CR_SUCCESS. Jika tidak, kode kesalahan mengembalikan salah satu kode kesalahan awalan CR_ yang ditentukan dalam Cfgmgr32.h.

Keterangan

Dimulai dengan Windows 7, perangkat yang mendukung beberapa jalur transportasi untuk data berbasis paket disebut sebagai perangkat komposit dan diwakili oleh devnodekomposit. Devnode komposit secara logis mewakili perangkat komposit kepada pengguna dan aplikasi sebagai satu perangkat, meskipun devnode komposit dapat memiliki beberapa jalur ke perangkat fisik.

Setiap jalur transportasi aktif ke perangkat fisik diwakili oleh devnode transportasi dan disebut sebagai relasi transportasi untuk perangkat komposit.

Devnode komposit (tetapi bukan devnode transportasi terkait) mengekspos antarmuka perangkat ke aplikasi dan sistem. Ketika aplikasi menggunakan antarmuka perangkat publik ini, perangkat komposit merutekan data berbasis paket ke satu atau beberapa devnode transportasi ini, yang kemudian mengangkut data ke perangkat fisik.

Misalnya, jika ponsel fisik secara bersamaan terhubung ke komputer pada USB dan bus Bluetooth, setiap bus menghitung devnode transportasi anak di bus tersebut untuk mewakili koneksi fisik perangkat.

Dalam hal ini, jika Anda mengatur bendera CM_GETIDLIST_FILTER_TRANSPORTRELATIONS di ulFlags dan menentukan ID instans perangkat devnode komposit ponsel di pszFilter, fungsi mengembalikan ID instans perangkat untuk dua devnode transportasi dalam parameter Buffer .

Untuk informasi selengkapnya tentang ID instans perangkat, lihat String Identifikasi Perangkat.

Catatan

Header cfgmgr32.h mendefinisikan CM_Get_Device_ID_List sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor 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 Universal
Header cfgmgr32.h (termasuk Cfgmgr32.h)
Pustaka Cfgmgr32.lib
DLL CfgMgr32.dll

Lihat juga

CM_Get_Device_ID_List_Size