Bagikan melalui


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

Lihat juga

DXGK_CHILD_DESCRIPTOR

DXGK_DEVICE_DESCRIPTOR

DxgkDdiQueryChildRelations

DxgkDdiQueryChildStatus