Compartir a través de


DXGKDDI_CREATEMEMORYBASIS función de devolución de llamada (d3dkmddi.h)

La función DxgkDdiCreateMemoryBasis de KMD crea un identificador para una colección de intervalos de memoria que representan la asignación en la que se opera durante el seguimiento de bits sucio.

Sintaxis

DXGKDDI_CREATEMEMORYBASIS DxgkddiCreatememorybasis;

HANDLE DxgkddiCreatememorybasis(
  IN_CONST_HANDLE hAdapter,
  IN_CONST_PDXGKARG_CREATEMEMORYBASIS pArgs
)
{...}

Parámetros

hAdapter

[in] Identificador de un bloque de contexto asociado a un adaptador de pantalla. KMD proporcionó anteriormente este identificador a Dxgkrnl en el parámetro de salida MiniportDeviceContext de la función DxgiDdiAddDevice .

pArgs

[in] Puntero a una estructura de DXGKARG_CREATEMEMORYBASIS que contiene información para la base que se va a crear.

Valor devuelto

DxgkDdiCreateMemoryBasis devuelve un HANDLE a la referencia de KMD para realizar el seguimiento de la colección de rangos. KMD debe poder transformar esta información en la información de la base en comandos posteriores como DxgkDdiDestroyMemoryBasis.

Comentarios

El seguimiento de las operaciones de modificación en VRAM es para las asignaciones que podrían no estar respaldadas de forma contigua. Por lo tanto, las direcciones físicas representadas en el seguimiento de bits sucios constan de una colección de intervalos que representan la asignación en la que se opera. DxgkDdiCreateMemoryBasis devuelve un identificador a la referencia de KMD para realizar el seguimiento de estos intervalos.

El KMD puede basarse en las siguientes invariables:

  • Para cada intervalo de Ranges, SegmentOffset y (SegmentOffset + SizeInBytes - 1) representan direcciones válidas en el segmento al que hace referencia SegmentId.

  • Todos los rangos son separados en pares; es decir, la intersección entre dos intervalos siempre es null.

También es habitual que SegmentOffset y SizeInBytes respeten ciertas alineaciones de página cuando se use la base de memoria creada en determinados DDIs de seguimiento sucio. Estos valores se describen en la página de referencia de esas DDI y siempre son varios de DXGK_DIRTY_BIT_TRACKING_SEGMENT_CAPS::P ageSize.

Dxgkrnl de lo contrario, no garantiza la ordenación de las direcciones de la colección de intervalos o garantías relacionadas.

Para obtener más información, consulte Seguimiento de bits sucio.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 11, versión 24H2 (WDDM 3.2)
Encabezado d3dkmddi.h
IRQL PASSIVE_LEVEL

Consulte también

DXGKARG_CREATEMEMORYBASIS

DxgkDdiDestroyMemoryBasis