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


функция обратного вызова 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, указанной в элементе hDeviceDXGKARG_SUBMITCOMMAND структуры, на которую указывает параметр pSubmitCommand.

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

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

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

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

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

Требования

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

См. также

DXGKARG_SUBMITCOMMAND

DxgkDdiAddDevice