Compartir a través de


Función D3DKMTMapGpuVirtualAddress (d3dkmthk.h)

D3DKMTMapGpuVirtualAddress asigna un intervalo de direcciones virtuales de GPU a un intervalo de asignación específico o lo coloca en el estado No válido o Cero .

Sintaxis

NTSTATUS D3DKMTMapGpuVirtualAddress(
  D3DDDI_MAPGPUVIRTUALADDRESS *unnamedParam1
);

Parámetros

unnamedParam1

[in/out] pData es un puntero a una estructura D3DDDI_MAPGPUVIRTUALADDRESS que describe la operación.

Valor devuelto

Código devuelto Descripción
STATUS_SUCCESS El contexto del dispositivo se creó correctamente.
STATUS_INVALID_PARAMETER Los parámetros se validaron y determinaron que son incorrectos.

Esta función también podría devolver otros valores NTSTATUS .

Comentarios

El controlador puede especificar una dirección virtual de GPU base (VA) para asignar o permitir que el administrador de memoria de vídeo elija automáticamente uno. Al especificar un valor BaseAddress distinto de NULL, todo el intervalo de BaseAddress a BaseAddress+Size debe estar en un estado liberado o pertenecer a un intervalo de VA obtenido llamando a D3DKMTMapGpuVirtualAddress o DxgkCbReserveGpuVirtualAddressRange. Cuando se especifica Protection.Zero o Protection.NoAccess , el intervalo de VA no puede pertenecer a un intervalo que se obtuvo llamando a MapGpuVirtualAddressCb.

El controlador puede especificar si la asignación debe permitir privilegios de escritura y ejecución, además de privilegios de lectura, que siempre existen de forma predeterminada.

En la configuración del adaptador de pantalla vinculado (LDA), la cola de paginación define una GPU física cuyas tablas de páginas se modifican y el identificador de asignación (si no ES NULL) define a dónde apuntan las entradas de la tabla de páginas. La asignación puede residir en cualquier segmento de memoria de GPU física.

El intervalo de VA de GPU, que la API asigna, se libera cuando se destruye la asignación (la VA de GPU a la que se asigna). El intervalo va también se puede liberar llamando a D3DKMTFreeGpuVirtualAddress, pero esto debe sincronizarse con la destrucción de asignación si es necesario.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10
Servidor mínimo compatible Windows Server 2016
Plataforma de destino Universal
Encabezado d3dkmthk.h (incluya D3dkmthk.h)
Library Gdi32.lib
Archivo DLL Gdi32.dll

Consulte también

DxgkCbReserveGpuVirtualAddressRange