Поделиться через


функция обратного вызова DXGKDDI_CONTROLINTERRUPT (d3dkmddi.h)

Функция DxgkDdiControlInterrupt включает или отключает заданный тип прерывания на графическом оборудовании.

Синтаксис

DXGKDDI_CONTROLINTERRUPT DxgkddiControlinterrupt;

NTSTATUS DxgkddiControlinterrupt(
  [in] IN_CONST_HANDLE hAdapter,
  [in] IN_CONST_DXGK_INTERRUPT_TYPE InterruptType,
  [in] IN_BOOLEAN EnableInterrupt
)
{...}

Параметры

[in] hAdapter

Дескриптор объекта адаптера для графического модуля обработки (GPU). Драйвер вернул этот дескриптор в параметр е miniportDeviceContext из вызова функции DxgkDdiAddevice.

[in] InterruptType

Значение типа DXGK_INTERRUPT_TYPE, которое предоставляет тип прерывания.

[in] EnableInterrupt

Логическое значение, указывающее, включает ли DxgkDdiControlInterrupt или отключает указанный тип прерывания. TRUE указывает, что он включает и FALSE указывает, что отключается.

Возвращаемое значение

DxgkDdiControlInterrupt возвращает одно из следующих значений:

Возвращаемый код Описание
STATUS_SUCCESS Тип прерывания был успешно включен или отключен на графическом оборудовании.
STATUS_NOT_IMPLEMENTED DxgkDdiControlInterrupt не поддерживает включение или отключение указанного типа прерывания.

Замечания

Функция драйвера минипорта отображения DxgkDdiControlInterrupt может включать или отключать указанный тип прерывания. Однако DxgkDdiControlInterrupt не требуется, чтобы отключить тип прерывания, если драйверу требуется тип прерывания для внутренней цели. Вызов DxgkDdiControlInterrupt для включения указанного типа прерывания указывает, что операционная система требует, чтобы драйвер вызвал функцию DxgkCbNotifyInterrupt, когда тип прерывания активируется на графическом оборудовании.

В настоящее время подсистема ядра графики Microsoft DirectX указывает только тип прерывания DXGK_INTERRUPT_CRTC_VSYNC в параметре InterruptType. Вызов DxgkDdiControlInterrupt, чтобы включить тип прерывания DXGK_INTERRUPT_CRTC_VSYNC указывает драйверу для управления вертикальным извлечением прерываний. В течение каждого вертикального вытягивания и сразу после того, как основной адрес поверхности, указанный в регистре DAC, фиксируется и сканируется, прерывание должно запускаться и сообщаться.

Драйвер должен возвращать STATUS_NOT_IMPLEMENTED, если указан тип прерывания, отличный от DXGK_INTERRUPT_CRTC_VSYNC.

DxgkDdiControlInterrupt должен быть создан на страницу.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows Vista
целевая платформа Настольный
заголовка d3dkmddi.h
IRQL PASSIVE_LEVEL

См. также

DXGK_INTERRUPT_TYPE

DxgkCbNotifyInterrupt

DxgkDdiAddDevice