функция обратного вызова DXGKDDI_START_DEVICE (dispmprt.h)
Функция dxgkDdiStartDevice подготавливает адаптер дисплея для получения запросов ввода-вывода.
Синтаксис
DXGKDDI_START_DEVICE DxgkddiStartDevice;
NTSTATUS DxgkddiStartDevice(
[in] IN_CONST_PVOID MiniportDeviceContext,
[in] IN_PDXGK_START_INFO DxgkStartInfo,
[in] IN_PDXGKRNL_INTERFACE DxgkInterface,
[out] OUT_PULONG NumberOfVideoPresentSources,
[out] OUT_PULONG NumberOfChildren
)
{...}
Параметры
[in] MiniportDeviceContext
Дескриптор для блока контекста, связанного с адаптером отображения. Функция драйвера минипорта отображения DxgkDdiAddDevice ранее предоставила этот дескриптор подсистеме ядра графики DirectX.
[in] DxgkStartInfo
Указатель на структуру DXGK_START_INFO, содержащую сведения, необходимые драйверу мини-порта для инициализации.
[in] DxgkInterface
Указатель на структуру DXGKRNL_INTERFACE, содержащую указатели на функции, реализованную подсистемой ядра графики DirectX, которую может вызвать драйвер мини-порта отображения.
[out] NumberOfVideoPresentSources
Указатель на переменную ULONG ULONG, которая получает количество источников видео, поддерживаемых адаптером отображения. Дополнительные сведения о источниках представления видео см. в нескольких мониторов и сетей представления видео.
[out] NumberOfChildren
Указатель на переменную ULONG ULONG, которая получает общее количество устройств, которые являются дочерними адаптерами дисплея, представленными MiniportDeviceContext. Это число должно включать потенциальные дочерние устройства, а также дочерние устройства, которые в настоящее время присутствуют. Например, если при закреплении переносимого компьютера будут доступны дополнительные выходные данные видео, эти выходные данные видео должны быть подсчитаны независимо от того, закреплен ли переносимый компьютер в настоящее время. Дополнительные сведения о дочерних устройствах см. в дочерних устройствахадаптера отображения.
Возвращаемое значение
DxgkDdiStartDevice возвращает STATUS_SUCCESS, если он выполнен успешно; в противном случае возвращается один из кодов ошибок, определенных в Ntstatus.h.
Замечания
Функция DxgkDdiStartDevice должна выполнять следующие действия:
- Сохраните указатели функции, предоставленные структурой DXGKRNL_INTERFACE, переданной параметру DxgkInterface. Кроме того, сохраните элемент DeviceHandle структуры DXGKRNL_INTERFACE; Этот дескриптор потребуется для обратного вызова в подсистему ядра графики DirectX.
- Выделите структуру DXGK_DEVICE_INFO и вызовите DxgkCbGetDeviceInformation для заполнения элементов этой структуры, включая путь реестра, PDO и список переведенных ресурсов для адаптера отображения, представленного MiniportDeviceContext. Сохраните выбранные элементы (те, которые потребуется драйверу минипорта отображения) структуры DXGK_DEVICE_INFO в блоке контекста, представленном MiniportDeviceContext.
- Сопоставить ресурсы памяти с системным пространством, вызвав функцию DxgkCbMapMemor y.
- Инициализировать блок контекста, представленный MiniportDeviceContext с любым состоянием, необходимым для подготовки оборудования для получения запросов ввода-вывода.
- Задайте NumberOfVideoPresentSources количество источников видео, поддерживаемых адаптером отображения, представленным MiniportDeviceContext.
- Задайте NumberOfChildren количество устройств, которые являются (или могут стать) дочерними элементами адаптера дисплея, представленным MiniportDeviceContext.
- Включите прерывания для адаптера отображения, представленного MiniportDeviceContext.
Функция DxgkDdiStartDevice должна быть выполнена на страницу.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно начиная с Windows Vista. |
целевая платформа | Настольный |
заголовка | dispmprt.h |
IRQL | PASSIVE_LEVEL |