DxgkDdiSubmitCommandVirtual 명령은 가상 주소 지정을 지원하는 컨텍스트에 DMA 버퍼를 제출합니다.
통사론
DXGKDDI_SUBMITCOMMANDVIRTUAL DxgkddiSubmitcommandvirtual;
NTSTATUS DxgkddiSubmitcommandvirtual(
IN_CONST_HANDLE hAdapter,
IN_CONST_PDXGKARG_SUBMITCOMMANDVIRTUAL pSubmitCommand
)
{...}
매개 변수
hAdapter
디스플레이 어댑터와 연결된 컨텍스트 블록에 대한 핸들입니다. 이전에 KMD(디스플레이 미니포트 드라이버)는 DxgkDdiAddDevice 함수의 MiniportDeviceContext 출력 매개 변수에서 Dxgkrnl에 이 핸들을 제공했습니다.
pSubmitCommand
작업을 설명하는 DXGKARG_SUBMITCOMMANDVIRTUAL 구조체에 대한 포인터입니다.
반환 값
값 | 설명 |
---|---|
상태_성공 | 제출된 명령이 올바른 형식입니다. |
STATUS_INVALID_PARAMETER (잘못된 매개변수 상태) | DMA 또는 개인 데이터는 잘못된 형식으로 결정됩니다. 이 경우 OS는 호출 디바이스를 오류 상태로 만들고 이후의 모든 호출은 실패합니다. 이 호출에 전달된 SubmissionFenceId 값은 하드웨어의 모든 이전 패킷이 완료된 후 완료된 것으로 간주되며, 이때 마지막으로 완료된 펜스 ID의 드라이버 개념을 이 값으로 업데이트해야 합니다. 이 동작은이전 DxgkDdiRender 호출에서 데이터의 유효성을 검사하는 기능으로 인해 오류가 반환되지 않는 DxgkDdiSubmitCommand 호출과 다릅니다. |
다른 모든 반환 값은 OS 버그 검사로 이어질 수 있습니다.
비고
DxgkDdiSubmitCommandVirtual 은 가상 메모리 주소 지정에서 작동하는 반면 DxgkDdiSubmitCommand 는 실제 메모리로 호출됩니다. DxgkDdiSubmitCommandVirtual 을 사용하면 드라이버가 메모리를 보다 유연하게 관리할 수 있습니다.
GPU는 이전에 다른 프로세스 또는 컨텍스트에 대해 다른 주소 공간으로 작업했을 수 있습니다. 드라이버는 특정 DMA 버퍼를 제출하기 전에 올바른 주소 공간이 복원되는지 확인해야 합니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10 |
지원되는 최소 서버 | Windows Server 2016 |
대상 플랫폼 | 바탕 화면 |
헤더 | d3dkmddi.h |