DXGKCB_OPENPHYSICALMEMORYOBJECT callback function (d3dkmddi.h)

A kernel-mode display miniport driver calls DXGKCB_OPENPHYSICALMEMORYOBJECT to open a physical memory object and associates it with an adapter.

Syntax

DXGKCB_OPENPHYSICALMEMORYOBJECT DxgkcbOpenphysicalmemoryobject;

NTSTATUS DxgkcbOpenphysicalmemoryobject(
  [in/out] IN_OUT_PDXGKARGCB_OPEN_PHYSICAL_MEMORY_OBJECT pArgs
)
{...}

Parameters

[in/out] pArgs

Pointer to a DXGKARGCB_OPEN_PHYSICAL_MEMORY_OBJECT structure that contains information about the physical memory object to open.

Return value

DXGKCB_OPENPHYSICALMEMORYOBJECT returns STATUS_SUCCESS if the operation succeeds. Otherwise, returns an appropriate NTSTATUS error code.

Remarks

In order to create an address descriptor list (ADL) from a physical memory object, it must first be associated with an adapter. This is normally done when the physical memory object is created by specifying the hAdapter parameter in a call to DXGKCB_CREATEPHYSICALMEMORYOBJECT. However, in some cases, the adapter handle is not available at the time the memory was allocated (for example, early in the boot process). In this case, the driver must call DXGKCB_OPENPHYSICALMEMORYOBJECT to associate the physical memory object with an adapter prior to calling DXGKCB_ALLOCATEADL.

See IOMMU DMA remapping for more information.

DXGKCB_XXX functions are implemented by Dxgkrnl. To use this callback function, set the appropriate members of DXGKARGCB_OPEN_PHYSICAL_MEMORY_OBJECT and then call DxgkCbOpenPhysicalMemoryObject via the DXGKRNL_INTERFACE.

Requirements

Requirement Value
Minimum supported server Windows Server 2022 (WDDM 2.9)
Header d3dkmddi.h
IRQL PASSIVE_LEVEL

See also

DXGKARGCB_OPEN_PHYSICAL_MEMORY_OBJECT

DXGKCB_ALLOCATEADL

DXGKCB_CLOSEPHYSICALMEMORYOBJECT

DXGKCB_CREATEPHYSICALMEMORYOBJECT