// dispmprt.h
DXGKDDI_GETMMIORANGES DxgkddiGetmmioranges;
NTSTATUS DxgkddiGetmmioranges(
HANDLE Context,
PDXGKARG_GETMMIORANGES pArgs
)
{...}
View the official Windows Driver Kit DDI referenceNo description available.
Get the memory ranges for a single MMIO (memory mapped input output) BAR (base address register) in the virtual device.
ContextA handle to the device context.
pArgsPointer to a DXGKARG_GETMMIORANGES structure.
Returns:
//Declaration
DXGKDDI_GETMMIORANGES DxgkddiGetmmioranges;
// Definition
NTSTATUS DxgkddiGetmmioranges
(
HANDLE Context
PDXGKARG_GETMMIORANGES pArgs
)
{...}
This callback function gets the specific ranges on which intercepts and mapping must be placed. This is a more flexible scatter/gather mapping of the BARs than the general SR-IOV (single-root input/output virtualization) solution that allows for VF (virtual function) BARS (base address registers) to be different sized than the physical bars and map/emulate any order of pages from any physical bar to any virtual bar. This function MUST contain a mapping for every page in the virtual bar. If it does not the device will fail to be created.