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) |