функция обратного вызова DXGKDDI_QUERY_DEVICE_DESCRIPTOR (dispmprt.h)
Функция DxgkDdiQueryDeviceDescriptor возвращает дескриптор для дочернего устройства видеоадаптера или для внешнего устройства (обычно монитора), подключенного к дочернему устройству видеоадаптера.
Синтаксис
DXGKDDI_QUERY_DEVICE_DESCRIPTOR DxgkddiQueryDeviceDescriptor;
NTSTATUS DxgkddiQueryDeviceDescriptor(
[in] IN_CONST_PVOID MiniportDeviceContext,
[in] IN_ULONG ChildUid,
[in, out] INOUT_PDXGK_DEVICE_DESCRIPTOR DeviceDescriptor
)
{...}
Параметры
[in] MiniportDeviceContext
Дескриптор для блока контекста, связанного с видеоадаптером. Функция DxgkDdiAdddDevice драйвера мини-порта дисплея ранее предоставляла этот дескриптор подсистеме ядра графики DirectX.
[in] ChildUid
Целое число, однозначно определяющее дочернее устройство. Функция DxgkDdiQueryChildRelations драйвера мини-порта дисплея ранее предоставляла этот идентификатор драйверу порта отображения.
[in, out] DeviceDescriptor
Указатель на структуру DXGK_DEVICE_DESCRIPTOR . Вызывающий объект инициализирует элементы DescriptorLength и DescriptorBuffer . Если дочернее устройство имеет тип TypeVideoOutput, вызывающий объект также инициализирует элемент DescriptorOffset . При возврате выделенный вызывающим буфер, на который указывает член DescriptorBuffer , получает дескриптор.
Возвращаемое значение
DxgkDdiQueryDeviceDescriptor возвращает одно из следующих значений:
Код возврата | Описание |
---|---|
STATUS_SUCCESS | Функция успешно вернула дескриптор устройства. |
STATUS_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED | (подключенное) дочернее устройство, определенное ChildUid, не поддерживает дескриптор. |
STATUS_MONITOR_NO_DESCRIPTOR | Дочернее устройство, определенное ChildUid, подключено к монитору, который не поддерживает дескриптор EDID. |
STATUS_MONITOR_NO_MORE_DESCRIPTOR_DATA | Дочернее устройство, определенное ChildUid, подключено к монитору, который поддерживает дескриптор EDID, но дескриптор не имеет блока расширения EDID, указанного дескриптором DescriptorOffset и DescriptorLengthmembers элемента DeviceDescriptor. |
Комментарии
DxgkDdiQueryDeviceDescriptor никогда не должен записывать больше, чем количество байтов, указанное в DeviceDescriptor-DescriptorLength.>
Если дочернее устройство, определенное ChildUid , имеет тип TypeVideoOutput, DxgkDdiQueryDeviceDescriptor возвращает часть данных EDID для монитора, подключенного к выходным данным. DeviceDescriptor-DescriptorOffset> указывает смещение байтов в EDID начала возвращаемых данных.
Если дочернее устройство, определенное ChildUid , не является выходным видео, dxgkDdiQueryDeviceDescriptor возвращает универсальный дескриптор устройства; то есть заполняет элементы структуры DXGK_GENERIC_DESCRIPTOR .
Функцию DxgkDdiQueryDeviceDescriptor можно вызвать несколько раз для одного дочернего устройства. Для дочернего устройства с подключенным монитором драйвер порта дисплея вызывает DxgkDdiQueryDeviceDescriptor во время инициализации, чтобы получить первый 128-байтный блок EDID монитора. Позже драйвер функции класса монитора (Monitor.sys) вызывает DxgkDdiQueryDeviceDescriptor для получения выбранных частей (включая первый 128-байтный блок) EDID того же монитора.
DxgkDdiQueryDeviceDescriptor должен быть доступным для страниц.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows Vista и более поздних версиях операционных систем Windows. |
Целевая платформа | Персональный компьютер |
Верхняя часть | dispmprt.h |
IRQL | PASSIVE_LEVEL |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по