DXGKDDI_CREATEPROCESS callback function (d3dkmddi.h)
Dxgkrnl calls the kernel-mode display driver's (KMD) DxgkDdiCreateProcess function to create a kernel-mode driver (KMD) process object for a Dxgkrnl process object.
Syntax
DXGKDDI_CREATEPROCESS DxgkddiCreateprocess;
NTSTATUS DxgkddiCreateprocess(
IN_CONST_HANDLE hAdapter,
INOUT_PDXGKARG_CREATEPROCESS pArgs
)
{...}
Parameters
hAdapter
[in] A handle to the display adapter.
pArgs
[in/out] Pointer to a DXGKARG_CREATEPROCESS structure that describes the operation.
Return value
DxgkDdiCreateProcess returns STATUS_SUCCESS if it succeeds. Otherwise, it returns an appropriate NTSTATUS error code.
Remarks
DxgkDdiCreateProcess allows the KMD to create a process context that allows the KMD to manage resources and permissions for processes, including those running in specialized environments like virtual machines and containers, ensuring proper graphics operations across different system contexts.
During process creation, the kernel-mode driver is allowed to call the DxgkCbReserveVirtualAddressRange callback. At this point the GPU virtual address space for the process is free and the driver has the opportunity to reserve virtual address space for its needs.
When CREATEPROCESSFLAGS::VirtualMachineWorkerProcess is set, the process belongs to the worker process of a virtual machine.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 10 |
Minimum supported server | Windows Server 2016 |
Target Platform | Desktop |
Header | d3dkmddi.h |