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


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

Функция DxgkDdiSubmitCommand отправляет буфер прямого доступа к памяти (DMA) в аппаратную единицу выполнения команд.

Синтаксис

DXGKDDI_SUBMITCOMMAND DxgkddiSubmitcommand;

NTSTATUS DxgkddiSubmitcommand(
  [in] IN_CONST_HANDLE hAdapter,
  [in] IN_CONST_PDXGKARG_SUBMITCOMMAND pSubmitCommand
)
{...}

Параметры

[in] hAdapter

Дескриптор для блока контекста, связанного с видеоадаптером. Драйвер мини-порта дисплея ранее предоставлял этот дескриптор подсистеме ядра графики Microsoft DirectX в выходном параметре MiniportDeviceContext функции DxgkDdiAddDevice .

[in] pSubmitCommand

Указатель на структуру DXGKARG_SUBMITCOMMAND , описывающую буфер DMA, который драйвер мини-порта дисплея отправляет в аппаратную единицу выполнения команд.

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

DxgkDdiSubmitCommand возвращает STATUS_SUCCESS после успешного завершения. Если вместо этого драйвер возвращает код ошибки, операционная система вызывает проверку системной ошибки. См. заметки.

Комментарии

Так как операции подкачки считаются системными, они не связаны с определенным контекстом приложения или графическим контекстом. Таким образом, если отправка выполняется для операции разбиения по страницам, вызывается функция DxgkDdiSubmitCommand с значением NULL , указанным в элементе hDeviceструктуры DXGKARG_SUBMITCOMMAND , на которую указывает параметр pSubmitCommand .

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

Драйвер может записать значение, указанное в элементе SubmissionFenceId DXGKARG_SUBMITCOMMAND, в команду fence в кольцевом буфере. Дополнительные сведения о командах ограждения см. в разделе Предоставление идентификаторов ограждения.

Если драйвер возвращает код ошибки, подсистема ядра графики DirectX вызывает проверку системной ошибки. В файле аварийного дампа ошибка отмечается сообщением BugCheck 0x119, которое будет иметь следующие четыре параметра.

  • 0x2 (определяет причину ошибки)
  • Код ошибки NTSTATUS, возвращенный при сбое вызова драйвера
  • Указатель на структуру DXGKARG_SUBMITCOMMAND
  • Указатель на структуру данных внутреннего планировщика

DxgkDdiSubmitCommand должен быть недоступен для страницы, так как он выполняется в IRQL = DISPATCH_LEVEL.

Требования

Требование Значение
Минимальная версия клиента Windows Vista
Целевая платформа Персональный компьютер
Верхняя часть d3dkmddi.h
IRQL DISPATCH_LEVEL

См. также раздел

DXGKARG_SUBMITCOMMAND

DxgkDdiAddDevice