DeviceInformationKind Enum

Definisi

Menentukan konstanta yang menentukan semacam objek DeviceInformation .

public enum class DeviceInformationKind
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
enum class DeviceInformationKind
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public enum DeviceInformationKind
var value = Windows.Devices.Enumeration.DeviceInformationKind.unknown
Public Enum DeviceInformationKind
Warisan
DeviceInformationKind
Atribut

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)

Bidang

AssociationEndpoint 5

Objek DeviceInformation mewakili titik akhir asosiasi perangkat (AEP). AIP biasanya mewakili perangkat yang ditemukan melalui protokol nirkabel atau jaringan. Beberapa titik akhir ini dapat digunakan tanpa perlu memasangkan perangkat terlebih dahulu. Gunakan CanPair untuk menentukan apakah perangkat mendukung pemasangan dan IsPaired untuk menentukan apakah perangkat sudah dipasangkan dengan sistem. Hanya objek AssociationEndpoint yang memiliki nilai non-NULL untuk Pemasangan. Untuk informasi selengkapnya tentang pemasangan melalui jaringan, lihat Menghitung perangkat melalui jaringan. Objek AssociationEndpoint adalah anak dari satu objek AssociationEndpointContainer dan dapat berisi 0 objek AssociationEndpointService atau lebih.

Id untuk objek ini.

AssociationEndpointContainer 6

Objek DeviceInformation mewakili kontainer titik akhir asosiasi (AEP). Objek AssociationEndpointContainer mewakili satu perangkat fisik yang mungkin memiliki lebih dari satu objek AssociationEndpoint yang terkait dengannya. Misalnya, jika televisi mendukung dua protokol jaringan yang berbeda, AssociationEndpointContainer akan menjadi televisi. Ini juga akan memiliki dua objek AssociationEndpoint untuk mewakili setiap protokol.

Id untuk objek ini adalah GUID kontainer AEP sebagai string.

AssociationEndpointProtocol 9

Objek DeviceInformation mewakili protokol tempat titik akhir asosiasi (AEP) dapat ditemukan. Anda dapat mencakup penemuan titik akhir asosiasi ke protokol tertentu dengan menggunakan ID protokol. Misalnya, pemilih berikut mencakup penemuan ke Bluetooth LE atau Bluetooth Classic.

Lihat Keterangan untuk informasi selengkapnya.

AssociationEndpointService 7

Objek DeviceInformation mewakili Layanan titik akhir asosiasi (AEP). Objek AssociationEndpointService mewakili kontrak layanan fungsional yang diekspos oleh perangkat. Tidak semua protokol mendukung layanan AEP. AssociationEndpointService dapat memiliki satu objek AssociationEndpointContainer induk.

Id untuk objek ini sebagai string.

Device 3

Objek DeviceInformation mewakili objek perangkat. Ini juga dapat disebut sebagai devnode. Perangkat ini adalah objek yang mewakili sepotong fungsionalitas perangkat dan secara opsional memiliki driver yang dimuat di dalamnya. Saat perangkat fisik dipasangkan dengan jendela, beberapa objek Perangkat dibuat untuknya. Perangkat berisi 0 atau lebih objek DeviceInterface , adalah anak dari satu objek DeviceContainer , dan terkait dengan 0 atau 1 objek AssociationEndpoint .

Id untuk objek ini adalah id instans perangkat untuk objek ini.

DeviceContainer 2

Objek DeviceInformation mewakili kontainer perangkat. Objek DeviceContainer menjelaskan kumpulan objek perangkat yang ada di perangkat fisik yang sama. Misalnya, printer multifungsi mungkin memiliki beberapa perangkat berbeda yang disertakan, tetapi semuanya akan ada sebagai bagian dari objek DeviceContainer induk.

Id untuk objek ini adalah GUID kontainer perangkat sebagai string.

DeviceInterface 1

Objek DeviceInformation mewakili antarmuka perangkat PnP. Ini diekspos oleh driver perangkat untuk memungkinkan aplikasi berbicara dengan perangkat, biasanya menggunakan IOCTLS perangkat (kontrol output input).

Jenis objek DeviceInformation ini berisi semua properti objek PnP DeviceInterface ditambah beberapa properti dari objek PnP DeviceContainer induk. Kombinasi properti ini dapat disajikan kepada pengguna saat pengguna perlu memilih perangkat untuk menyelesaikan skenario aplikasi. Objek DeviceInterface hanya dapat berupa anak ke satu objek DeviceContainer .

Ini adalah DeviceInformationKind default saat menghitung perangkat tanpa menentukan jenis tertentu.

Id untuk objek ini adalah id antarmuka perangkat, atau jalur antarmuka perangkat.

DeviceInterfaceClass 4

Objek DeviceInformation mewakili kelas antarmuka perangkat. Setiap objek DeviceInterface milik DeviceInterfaceClass tertentu. Ini mirip dengan definisi kontrak. Kontrak ini diwakili dengan id dan properti, sama seperti setiap objek PnP lainnya. Objek DeviceInterfaceClass berisi sedikit informasi lebih banyak daripada pengidentifikasi unik dan mungkin nama.

Id untuk objek ini adalah GUID kelas antarmuka perangkat sebagai string.

DevicePanel 8

Objek DeviceInformation mewakili satu wajah fisik penutup perangkat.

Id untuk objek ini sebagai string.

Unknown 0

Objek berjenis tidak dikenal. Nilai ini tidak digunakan.

Keterangan

Nilai DeviceInformationKind dapat diteruskan ke berbagai API enumerasi untuk menunjukkan jenis perangkat tertentu yang ingin Anda hitung. Dalam sebagian besar skenario, Anda akan menerima DeviceInformation dari pemilih perangkat. Untuk melihat cara menghitung jenis perangkat tertentu menggunakan DeviceInformationKind, lihat Menghitung perangkat.

Diagram berikut menunjukkan bagaimana berbagai jenis perangkat berinteraksi satu sama lain. Ini juga menunjukkan properti yang mengikat hubungan bersama-sama. Untuk alasan performa, banyak koneksi hubungan hanya masuk ke satu arah. Pengecualian untuk ini adalah AepContainer. Ini berisi daftar objek turunannya berkat System.Devices.AepContainer.Children.

Hubungan DeviceInformationKind

Setiap baris dalam diagram di atas mewakili bagaimana hubungan antara jenis objek ditentukan. Objek utama memiliki ID objek inti. Lalu ada properti pada objek terkait yang nilainya sama dengan Id objek inti tersebut.

Misalnya, ada objek 0 hingga N DeviceInterface untuk DeviceInterfaceClass. Jadi objek 0 hingga N DeviceInterface ada yang merupakan kelas antarmuka perangkat yang diwakili oleh objek DeviceInterfaceClass . Id objek inti objek DeviceInterfaceClass adalah GUID kelas antarmuka perangkat. Objek DeviceInterface pada gilirannya memiliki properti bernama DEVPKEY_DeviceInterface_ClassGuid. Nilai properti tersebut (GUID) menunjukkan apa kelas antarmuka perangkat objek DeviceInterface (yaitu, jenis antarmuka apa itu). Dan tentu saja nilai itu sama dengan ID objek inti dari objek DeviceInterfaceClass terkait.

Mari kita lihat beberapa contoh lainnya. Di bawah ini adalah contoh bagaimana objek perangkat memetakan pada webcam. Anda dapat melihat satu kontainer, empat simpul perangkat (devnodes untuk singkatnya), dan devnode yang diperluas memiliki lima antarmuka perangkat (tiga di antaranya diaktifkan).

Objek perangkat untuk webcam

Melihat properti antarmuka perangkat yang dipilih (disorot), Anda dapat melihat bagaimana properti digunakan untuk mengikat model objek bersama-sama. Nama kunci yang ditampilkan sebenarnya adalah versi Win32 (misalnya, DEVPKEY_DeviceInterface_ClassGuid). Di Windows Runtime (WinRT), properti dipetakan oleh sistem properti (lihat Perangkat (Sistem Properti Windows)), Jadi setara dengan DEVPKEY_DeviceInterface_ClassGuid adalah System.Device.InterfaceClassGuid.

X

Misalnya, jika Anda mengetahui Id kelas antarmuka perangkat (juga dikenal sebagai GUID Kelas), maka Anda dapat menemukan objek kelas antarmuka perangkat dengan Id tersebut (yang merupakan Id intinya). Dalam ilustrasi di bawah ini, Anda dapat melihat bahwa itu hanya kebetulan kelas antarmuka perangkat Kamera ; dan Anda dapat melihat info selengkapnya tentang kelas antarmuka perangkat tersebut. Antarmuka perangkat apa pun yang ada di kelas antarmuka perangkat ini akan memiliki nilai properti DEVPKEY_DeviceInterface_ClassGuid sama dengan GUID Kelas yang ditunjukkan di bawah ini.

X

Berikut adalah contoh lain; waktu headset Bluetooth ini. Devnode dipilih. Dan yang disorot adalah Id AEP yang dipetakan untuk objek titik akhir asosiasi. Ini menggambarkan hubungan antara objek Perangkat dan objek Aep . DEVPKEY_Aep_AepId (Win32) atau System.Devices.Aep.AepId (WinRT) adalah cara untuk mencocokkan kedua jenis objek tersebut bersama-sama. Devnode akan memiliki nilai properti DEVPKEY_Aep_AepId jika berasal dari perangkat yang dipasangkan. Anda kemudian dapat menggunakan nilai tersebut untuk menemukan objek Aep yang Id intinya cocok dengan nilai.

X

Dan berikut adalah contoh devnode yang menunjukkan panel apa yang dimilikinya, bersama dengan Id-nya. Panel mewakili port USB di bagian atas sasis komputer pribadi. Ini menggambarkan hubungan antara DevicePanel (di bagian atas ilustrasi) dan Perangkat (atau devnode; di bagian bawah ilustrasi). Devnodes dan antarmuka perangkat dapat memiliki nilai properti System.Devices.Panel.PanelId . Anda kemudian dapat menggunakan nilai tersebut untuk menemukan objek DevicePanel yang Id intinya cocok dengan nilai.

X

Untuk konstanta AssociationEndpointProtocol , contoh string pemilih AQS adalah:

System.Devices.Aep.ProtocolId:="{e0cbf06c-cd8b-4647-bb8a-263b43f0f974}" (untuk Bluetooth Classic) atau System.Devices.Aep.ProtocolId:=:"{bb7bb05e-5972-42b5-94fc-76eaa7084d49}" (untuk Bluetooth LE).

System.Devices.Aep.ProtocolId adalah nama protokol dalam propsi; dan DEVPKEY_Aep_ProtocolId adalah Win32 DEVPKEY.

Berikut adalah contoh representatif tentang seperti apa menghitung protokol, dan bagaimana protokol tersebut cocok dengan properti AEP (dengan anotasi di dalam tanda kurung siku).

> pairtool /enum-protocols
...
Protocol ID:                Bluetooth [DEVPKEY_Aep_ProviderName]
Protocol Provider Name:     Bluetooth
Protocol Name:              Bluetooth Classic
Universal Protocol ID:      {e0cbf06c-cd8b-4647-bb8a-263b43f0f974} [DEVPKEY_Aep_ProtocolId // <propertyDescription name="System.Devices.Aep.ProtocolId" formatID="{3B2CE006-5E61-4FDE-BAB8-9B8AAC9B26DF}" propID="5">]
Protocol Provider Class ID: {4aa383d6-337a-43d3-a3fa-c14b26004130}

Protocol ID:                BluetoothLE [DEVPKEY_Aep_ProviderName]
Protocol Provider Name:     BluetoothLE
Protocol Name:              Bluetooth Low Energy
Universal Protocol ID:      {bb7bb05e-5972-42b5-94fc-76eaa7084d49} [DEVPKEY_Aep_ProtocolId]
Protocol Provider Class ID: {0829c308-d361-49f4-828b-506d552029ef} 
...
> pairtool /enum-endpoints

BluetoothLE#BluetoothLEdc:46:28:6a:16:01-20:4c:03:45:07:ca
  1)DEVPKEY_Aep_ContainerId [SYS] (null) DEVPROP_TYPE_GUID 16 {72888bff-567a-54f9-861a-73a3f2df469c} 
...
  30)DEVPKEY_Aep_ProviderName [SYS] (null) DEVPROP_TYPE_STRING 24 "BluetoothLE"
  33)DEVPKEY_Aep_ProtocolId [SYS] (null) DEVPROP_TYPE_GUID 16 {bb7bb05e-5972-42b5-94fc-76eaa7084d49}

Riwayat versi

Versi Windows Versi SDK Nilai ditambahkan
1809 17763 DevicePanel

Berlaku untuk

Lihat juga