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

La función de devolución de llamada del modo de usuario pfnDeallocate2Cb libera asignaciones para un objeto de recurso en modo kernel si se creó el objeto de recurso.

pfnDeallocate2Cb es un reemplazo de pfnDeallocateCb que tiene un miembro Flags adicional. Cuando las marcas se establecen en todos los ceros, el comportamiento es equivalente a pfnDeallocateCb.

Sintaxis

PFND3DDDI_DEALLOCATE2CB Pfnd3dddiDeallocate2cb;

HRESULT Pfnd3dddiDeallocate2cb(
  HANDLE hDevice,
  const D3DDDICB_DEALLOCATE2 *unnamedParam2
)
{...}

Parámetros

hDevice

Identificador del dispositivo de visualización (contexto de gráficos).

unnamedParam2

pData [in]

Puntero a una estructura de D3DDDICB_DEALLOCATE2 que describe el recurso que se va a liberar.

Valor devuelto

Código devuelto Descripción
S_OK La memoria se liberó correctamente.
E_INVALIDARG Los parámetros se validaron y determinaron que son incorrectos.

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

Comentarios

Cuando se recibe una solicitud de destrucción de asignación, VidMm asume, de forma predeterminada, que los comandos en cola antes de la solicitud de destrucción pueden acceder a la asignación que se destruye y aplaza la operación de destrucción hasta que finalicen los comandos en cola. Si el controlador en modo de usuario (UMD) sabe que los comandos pendientes no tienen acceso a la asignación que se está destruyendo, puede indicar a VidMm que no espere hasta que finalicen los comandos pendientes estableciendo la marca AssumeNotInUse en TRUE al llamar a pfnDeallocate2Cb.

Si una aplicación o UMD desea asegurarse de que la memoria de asignación se recupera antes de la devolución de la llamada pfnDeallocate2Cb (por ejemplo, para minimizar el uso máximo de memoria si se vuelve a crear la superficie), debe establecer la marca SynchronousDestroy .

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

D3DDDICB_DEALLOCATE2

pfnDeallocateCb