функция обратного вызова 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 |