PFND3DDDI_MAPGPUVIRTUALADDRESSCB función de devolución de llamada (d3dumddi.h)

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

Sintaxis

PFND3DDDI_MAPGPUVIRTUALADDRESSCB Pfnd3dddiMapgpuvirtualaddresscb;

HRESULT Pfnd3dddiMapgpuvirtualaddresscb(
  HANDLE hDevice,
  D3DDDI_MAPGPUVIRTUALADDRESS *unnamedParam2
)
{...}

Parámetros

hDevice

Identificador del dispositivo de visualización.

unnamedParam2

[in/out] pDate es un puntero a una estructura de D3DDDI_MAPGPUVIRTUALADDRESS que describe la operación que se va a realizar.

Valor devuelto

pfnMapGpuVirtualAddressCb devuelve uno de los siguientes valores:

Código devuelto Descripción
S_OK La operación se ha completado correctamente.
E_PENDING La llamada se realizó correctamente, pero la operación no ha finalizado. El autor de la llamada debe esperar el valor de barrera devuelto antes de acceder a la asignación.

Esta función también puede devolver otros valores.

Comentarios

El controlador en modo de usuario 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 comprendido entre BaseAddress y BaseAddress+Size debe estar en un estado libre o pertenecer a un intervalo va obtenido mediante una llamada a pfnMapGpuVirtualAddressCb o pfnReserveGpuVirtualAddressCb. Cuando se especifica Protection.Zero o Protection.NoAccess , el intervalo de VA no puede pertenecer a un intervalo obtenido mediante una llamada a pfnMapGpuVirtualAddressCb.

El controlador en modo de usuario puede especificar si la asignación debe permitir privilegios de escritura y ejecución, además de los 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 dónde apuntan las entradas de la tabla de páginas. La asignación puede residir en cualquier segmento de memoria de GPU físico.

El intervalo de VA de GPU, asignado por la API, se libera cuando se destruye la asignación (la VA de GPU se asigna a). El intervalo de VA también se puede liberar llamando a PFND3DDDI_FREEGPUVIRTUALADDRESSCB, 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 Escritorio
Encabezado d3dumddi.h (incluya D3dumddi.h)

Consulte también

D3DDDI_MAPGPUVIRTUALADDRESS

pfnReserveGpuVirtualAddressCb