DXGKDDI_QUERY_DEVICE_DESCRIPTOR fungsi panggilan balik (dispmprt.h)
Fungsi DxgkDdiQueryDeviceDescriptor mengembalikan deskriptor untuk perangkat anak adaptor tampilan atau untuk perangkat eksternal (biasanya monitor) yang tersambung ke perangkat anak adaptor tampilan.
Sintaks
DXGKDDI_QUERY_DEVICE_DESCRIPTOR DxgkddiQueryDeviceDescriptor;
NTSTATUS DxgkddiQueryDeviceDescriptor(
[in] IN_CONST_PVOID MiniportDeviceContext,
[in] IN_ULONG ChildUid,
[in, out] INOUT_PDXGK_DEVICE_DESCRIPTOR DeviceDescriptor
)
{...}
Parameter
[in] MiniportDeviceContext
Handel ke blok konteks yang terkait dengan adaptor tampilan. Fungsi DxgkDdiAddDevice driver miniport tampilan sebelumnya menyediakan handel ini ke subsistem kernel grafis DirectX.
[in] ChildUid
Bilangan bulat yang secara unik mengidentifikasi perangkat anak. Fungsi DxgkDdiQueryChildRelations driver miniport tampilan sebelumnya memberikan pengidentifikasi ini ke driver port tampilan.
[in, out] DeviceDescriptor
Penunjuk ke struktur DXGK_DEVICE_DESCRIPTOR . Penelepon menginisialisasi anggota DescriptorLength dan DescriptorBuffer . Jika perangkat anak memiliki jenis TypeVideoOutput, pemanggil juga menginisialisasi anggota DescriptorOffset . Saat kembali, buffer yang dialokasikan pemanggil yang ditunjukkan oleh anggota DescriptorBuffer menerima deskriptor.
Menampilkan nilai
DxgkDdiQueryDeviceDescriptor mengembalikan salah satu nilai berikut:
Menampilkan kode | Deskripsi |
---|---|
STATUS_SUCCESS | Fungsi berhasil mengembalikan deskriptor perangkat. |
STATUS_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED | Perangkat anak (onboard) yang diidentifikasi oleh ChildUid tidak mendukung deskriptor. |
STATUS_MONITOR_NO_DESCRIPTOR | Perangkat anak yang diidentifikasi oleh ChildUid tersambung ke monitor yang tidak mendukung deskriptor EDID. |
STATUS_MONITOR_NO_MORE_DESCRIPTOR_DATA | Perangkat anak yang diidentifikasi oleh ChildUid terhubung ke monitor yang mendukung deskriptor EDID, tetapi deskriptor tidak memiliki blok ekstensi EDID yang ditentukan oleh DescriptorOffset dan DescriptorLengthmembers deviceDescriptor. |
Keterangan
DxgkDdiQueryDeviceDescriptor tidak boleh menulis lebih dari jumlah byte yang ditentukan oleh DeviceDescriptor-DescriptorLength>.
Jika perangkat anak yang diidentifikasi oleh ChildUid memiliki jenis TypeVideoOutput, DxgkDdiQueryDeviceDescriptor mengembalikan sebagian data Extended Display Identification Data (EDID) untuk monitor yang terhubung ke output. DeviceDescriptor-DescriptorOffset> menentukan byte-offset ke dalam EDID dari awal data yang akan dikembalikan.
Jika perangkat anak yang diidentifikasi oleh ChildUid bukan output video, DxgkDdiQueryDeviceDescriptor mengembalikan deskriptor perangkat generik; yaitu, mengisi anggota struktur DXGK_GENERIC_DESCRIPTOR .
Fungsi DxgkDdiQueryDeviceDescriptor dapat dipanggil beberapa kali untuk satu perangkat anak. Untuk perangkat anak yang memiliki monitor terhubung, driver port tampilan memanggil DxgkDdiQueryDeviceDescriptor selama inisialisasi untuk mendapatkan blok 128 byte pertama dari EDID monitor. Kemudian driver fungsi kelas monitor (Monitor.sys) memanggil DxgkDdiQueryDeviceDescriptor untuk mendapatkan bagian yang dipilih (termasuk blok 128 byte pertama) dari EDID monitor yang sama.
DxgkDdiQueryDeviceDescriptor harus dibuat dapat dipaginasi.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista |
Target Platform | Desktop |
Header | dispmprt.h |
IRQL | PASSIVE_LEVEL |