функция обратного вызова DXGKCB_ACQUIRE_POST_DISPLAY_OWNERSHIP (dispmprt.h)
Вызывается драйвером мини-порта дисплея Windows (WDDM) 1.2 или более поздней версии для получения сведений о дисплее с текущего устройства с самотестировщиком питания (POST) или ранее запущенным драйвером WDDM.
Драйвер должен использовать эти сведения для оптимизации начального запроса на изменение режима после запуска устройства отображения.
Синтаксис
DXGKCB_ACQUIRE_POST_DISPLAY_OWNERSHIP DxgkcbAcquirePostDisplayOwnership;
NTSTATUS DxgkcbAcquirePostDisplayOwnership(
[in] HANDLE DeviceHandle,
[out] PDXGK_DISPLAY_INFORMATION DisplayInfo
)
{...}
Параметры
[in] DeviceHandle
Дескриптор, представляющий видеоадаптер. Драйвер мини-порта дисплея ранее получил этот дескриптор в элементе DeviceHandleструктуры DXGKRNL_INTERFACE , переданной в DxgkDdiStartDevice.
[out] DisplayInfo
Указатель на структуру DXGK_DISPLAY_INFORMATION , выделенную драйвером мини-порта дисплея. Если DxgkCbAcquirePostDisplayOwnership возвращает STATUS_SUCCESS, эта структура содержит сведения для отображения текущего устройства отображения, используемого для операций POST.
Возвращаемое значение
DxgkCbAcquirePostDisplayOwnership возвращает STATUS_SUCCESS в случае успешного выполнения. В противном случае возвращается один из кодов ошибок, определенных в ntstatus.h.
Комментарии
Допустимые цветовые форматы
Элемент DisplayInfo->ColorFormat должен содержать побитовое или сочетание следующих двух форматов:- D3DDDIFMT_X8R8G8B8
- D3DDDIFMT_A8R8G8B8
Инициализация цели представления видео
Возможно, элемент DisplayInfo->TargetId не инициализирован. В этом случае идентификатор целевого объекта показа видео — D3DDDI_ID_UNINITIALIZED. Обычно это происходит после загрузки системы.Аналогичным образом возможно, что элемент DisplayInfo-AcpiId> не инициализирован. В этом случае идентификатор ACPI AcpiId имеет нулевое значение.
В случае обновления от драйвера к драйверу предыдущий драйвер предоставит целевой идентификатор и идентификатор ACPI.
Рекомендации по реализации
Начиная с версии WDDM 1.2, драйвер мини-порта дисплея должен следовать этим рекомендациям при вызове DxgkCbAcquirePostDisplayOwnership:- Точка входа для функции DxgkCbAcquirePostDisplayOwnership является частью структуры DXGKRNL_INTERFACE . Эта структура возвращается драйверу с помощью параметра DxgkInterface при вызове функции DxgkDdiStartDevice драйвера.
- Драйвер мини-порта дисплея необязательно вызывает DxgkCbAcquirePostDisplayOwnership. Однако операционная система может по-прежнему вызывать функцию DxgkDdiStopDeviceAndReleasePostDisplayOwnership драйвера устройства, если драйвер ранее не вызывал DxgkCbAcquirePostDisplayOwnership.
- Драйвер мини-порта дисплея может вызывать DxgkCbAcquirePostDisplayOwnership, если устройство запускается в ответ на событие Plug and Play (PnP). В этом случае драйвер должен вызвать DxgkCbAcquirePostDisplayOwnership из контекста вызова функции DxgkDdiStartDevice .
- Драйвер мини-порта дисплея может вызывать DxgkCbAcquirePostDisplayOwnership , если устройство возобновляет состояние питания PowerDeviceD0 после состояния гибернации. В этом случае драйвер должен вызвать DxgkCbAcquirePostDisplayOwnership из контекста вызова функции DxgkDdiSetPowerState .
-
Драйвер мини-порта дисплея должен вызывать функцию DxgkCbAcquirePostDisplayOwnership, только если драйвер работает в Windows 8 или более поздней версии операционной системы Windows.
Примечание Драйвер мини-порта дисплея может вызвать RtlGetVersion , чтобы определить версию операционной системы.
- DxgkCbAcquirePostDisplayOwnership может возвращать DXGK_DISPLAY_INFORMATION структуру с элементом Width , равным нулю. Это означает, что текущее устройство отображения не поддерживает операции POST или операционная система не имеет текущих отображаемых сведений для текущего устройства POST.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 |
Минимальная версия сервера | Windows Server 2012 |
Целевая платформа | Персональный компьютер |
Верхняя часть | dispmprt.h (включая Dispmprt.h) |
IRQL | <= APC_LEVEL |