estructura D3DDDI_DEVICECALLBACKS (d3dumddi.h)
La estructura D3DDDI_DEVICECALLBACKS contiene funciones de devolución de llamada en tiempo de ejecución de Microsoft Direct3D que el controlador de pantalla en modo de usuario puede usar.
Sintaxis
typedef struct _D3DDDI_DEVICECALLBACKS {
PFND3DDDI_ALLOCATECB pfnAllocateCb;
PFND3DDDI_DEALLOCATECB pfnDeallocateCb;
PFND3DDDI_SETPRIORITYCB pfnSetPriorityCb;
PFND3DDDI_QUERYRESIDENCYCB pfnQueryResidencyCb;
PFND3DDDI_SETDISPLAYMODECB pfnSetDisplayModeCb;
PFND3DDDI_PRESENTCB pfnPresentCb;
PFND3DDDI_RENDERCB pfnRenderCb;
PFND3DDDI_LOCKCB pfnLockCb;
PFND3DDDI_UNLOCKCB pfnUnlockCb;
PFND3DDDI_ESCAPECB pfnEscapeCb;
PFND3DDDI_CREATEOVERLAYCB pfnCreateOverlayCb;
PFND3DDDI_UPDATEOVERLAYCB pfnUpdateOverlayCb;
PFND3DDDI_FLIPOVERLAYCB pfnFlipOverlayCb;
PFND3DDDI_DESTROYOVERLAYCB pfnDestroyOverlayCb;
PFND3DDDI_CREATECONTEXTCB pfnCreateContextCb;
PFND3DDDI_DESTROYCONTEXTCB pfnDestroyContextCb;
PFND3DDDI_CREATESYNCHRONIZATIONOBJECTCB pfnCreateSynchronizationObjectCb;
PFND3DDDI_DESTROYSYNCHRONIZATIONOBJECTCB pfnDestroySynchronizationObjectCb;
PFND3DDDI_WAITFORSYNCHRONIZATIONOBJECTCB pfnWaitForSynchronizationObjectCb;
PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB pfnSignalSynchronizationObjectCb;
PFND3DDDI_SETASYNCCALLBACKSCB pfnSetAsyncCallbacksCb;
PFND3DDDI_SETDISPLAYPRIVATEDRIVERFORMATCB pfnSetDisplayPrivateDriverFormatCb;
PFND3DDDI_OFFERALLOCATIONSCB pfnOfferAllocationsCb;
PFND3DDDI_RECLAIMALLOCATIONSCB pfnReclaimAllocationsCb;
PFND3DDDI_CREATESYNCHRONIZATIONOBJECT2CB pfnCreateSynchronizationObject2Cb;
PFND3DDDI_WAITFORSYNCHRONIZATIONOBJECT2CB pfnWaitForSynchronizationObject2Cb;
PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECT2CB pfnSignalSynchronizationObject2Cb;
PFND3DDDI_PRESENTMULTIPLANEOVERLAYCB pfnPresentMultiPlaneOverlayCb;
PFND3DDDI_LOGUMDMARKERCB pfnLogUMDMarkerCb;
PFND3DDDI_MAKERESIDENTCB pfnMakeResidentCb;
PFND3DDDI_EVICTCB pfnEvictCb;
PFND3DDDI_WAITFORSYNCHRONIZATIONOBJECTFROMCPUCB pfnWaitForSynchronizationObjectFromCpuCb;
PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTFROMCPUCB pfnSignalSynchronizationObjectFromCpuCb;
PFND3DDDI_WAITFORSYNCHRONIZATIONOBJECTFROMGPUCB pfnWaitForSynchronizationObjectFromGpuCb;
PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTFROMGPUCB pfnSignalSynchronizationObjectFromGpuCb;
PFND3DDDI_CREATEPAGINGQUEUECB pfnCreatePagingQueueCb;
PFND3DDDI_DESTROYPAGINGQUEUECB pfnDestroyPagingQueueCb;
PFND3DDDI_LOCK2CB pfnLock2Cb;
PFND3DDDI_UNLOCK2CB pfnUnlock2Cb;
PFND3DDDI_INVALIDATECACHECB pfnInvalidateCacheCb;
PFND3DDDI_RESERVEGPUVIRTUALADDRESSCB pfnReserveGpuVirtualAddressCb;
PFND3DDDI_MAPGPUVIRTUALADDRESSCB pfnMapGpuVirtualAddressCb;
PFND3DDDI_FREEGPUVIRTUALADDRESSCB pfnFreeGpuVirtualAddressCb;
PFND3DDDI_UPDATEGPUVIRTUALADDRESSCB pfnUpdateGpuVirtualAddressCb;
PFND3DDDI_CREATECONTEXTVIRTUALCB pfnCreateContextVirtualCb;
PFND3DDDI_SUBMITCOMMANDCB pfnSubmitCommandCb;
PFND3DDDI_DEALLOCATE2CB pfnDeallocate2Cb;
PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTFROMGPU2CB pfnSignalSynchronizationObjectFromGpu2Cb;
PFND3DDDI_RECLAIMALLOCATIONS2CB pfnReclaimAllocations2Cb;
PFND3DDDI_GETRESOURCEPRESENTPRIVATEDRIVERDATACB pfnGetResourcePresentPrivateDriverDataCb;
PFND3DDDI_UPDATEALLOCATIONPROPERTYCB pfnUpdateAllocationPropertyCb;
PFND3DDDI_OFFERALLOCATIONS2CB pfnOfferAllocations2Cb;
PFND3DDDI_RECLAIMALLOCATIONS3CB pfnReclaimAllocations3Cb;
PFND3DDDI_SYNCTOKENCB pfnAcquireResourceCb;
PFND3DDDI_SYNCTOKENCB pfnReleaseResourceCb;
PFND3DDDI_CREATEHWCONTEXTCB pfnCreateHwContextCb;
PFND3DDDI_DESTROYHWCONTEXTCB pfnDestroyHwContextCb;
PFND3DDDI_CREATEHWQUEUECB pfnCreateHwQueueCb;
PFND3DDDI_DESTROYHWQUEUECB pfnDestroyHwQueueCb;
PFND3DDDI_SUBMITCOMMANDTOHWQUEUECB pfnSubmitCommandToHwQueueCb;
PFND3DDDI_SUBMITWAITFORSYNCOBJECTSTOHWQUEUECB pfnSubmitWaitForSyncObjectsToHwQueueCb;
PFND3DDDI_SUBMITSIGNALSYNCOBJECTSTOHWQUEUECB pfnSubmitSignalSyncObjectsToHwQueueCb;
PFND3DDDI_SUBMITPRESENTBLTTOHWQUEUECB pfnSubmitPresentBltToHwQueueCb;
PFND3DDDI_SUBMITPRESENTTOHWQUEUECB pfnSubmitPresentToHwQueueCb;
PFND3DDDI_SUBMITHISTORYSEQUENCECB pfnSubmitHistorySequenceCb;
} D3DDDI_DEVICECALLBACKS;
Miembros
pfnAllocateCb
Puntero a la función pfnAllocateCb , que el controlador de pantalla en modo de usuario usa para solicitar que el tiempo de ejecución de Direct3D cree una asignación de memoria para que la use el controlador.
pfnDeallocateCb
Puntero a la función pfnDeallocateCb , que el controlador de visualización en modo de usuario usa para solicitar que el tiempo de ejecución de Direct3D libere memoria asignada anteriormente.
pfnSetPriorityCb
Puntero a la función pfnSetPriorityCb , que el controlador de visualización en modo de usuario usa para establecer la prioridad de un recurso o una lista de asignaciones.
pfnQueryResidencyCb
Puntero a la función pfnQueryResidencyCb , que el controlador de visualización en modo de usuario usa para consultar el estado de residencia de un recurso o una lista de asignaciones.
pfnSetDisplayModeCb
Puntero a la función pfnSetDisplayModeCb , que el controlador de pantalla en modo de usuario usa para establecer una asignación para mostrar.
pfnPresentCb
Puntero a la función pfnPresentCb , que el controlador de pantalla en modo de usuario usa para enviar un comando presente al controlador de minipuerto de pantalla.
pfnRenderCb
Puntero a la función pfnRenderCb , que el controlador de pantalla en modo de usuario usa para enviar un búfer de comandos al controlador de miniporte de pantalla.
pfnLockCb
Puntero a la función pfnLockCb , que el controlador de pantalla en modo de usuario usa para solicitar un bloqueo del controlador de miniporte de pantalla. El controlador de pantalla en modo de usuario no puede controlar este bloqueo por completo.
pfnUnlockCb
Puntero a la función pfnUnlockCb , que el controlador de pantalla en modo de usuario usa para llamar al controlador de miniporte de pantalla para un desbloqueo. Este desbloqueo no se puede controlar completamente mediante el controlador de pantalla en modo de usuario.
pfnEscapeCb
Puntero a la función pfnEscapeCb , que el controlador de pantalla en modo de usuario usa para compartir información con el controlador de minipuerto de pantalla.
pfnCreateOverlayCb
Puntero a la función pfnCreateOverlayCb , que el controlador de visualización en modo de usuario usa para crear y mostrar un objeto de superposición en modo kernel.
pfnUpdateOverlayCb
Puntero a la función pfnUpdateOverlayCb , que el controlador de pantalla en modo de usuario usa para modificar un objeto de superposición en modo kernel.
pfnFlipOverlayCb
Puntero a la función pfnFlipOverlayCb , que el controlador de pantalla en modo de usuario usa para cambiar la asignación que muestra la superposición.
pfnDestroyOverlayCb
Puntero a la función pfnDestroyOverlayCb , que el controlador de pantalla en modo de usuario usa para destruir un objeto de superposición en modo kernel y evitar que se muestre la superposición.
pfnCreateContextCb
Puntero a la función pfnCreateContextCb , que el controlador de visualización en modo de usuario usa para crear un contexto al que enviar solicitudes.
pfnDestroyContextCb
Puntero a la función pfnDestroyContextCb , que el controlador de pantalla en modo de usuario usa para destruir un contexto que pfnCreateContextCb creó.
pfnCreateSynchronizationObjectCb
Puntero a la función pfnCreateSynchronizationObjectCb , que el controlador de visualización en modo de usuario usa para crear un objeto de sincronización.
pfnDestroySynchronizationObjectCb
Puntero a la función pfnDestroySynchronizationObjectCb , que el controlador de pantalla en modo de usuario usa para destruir un objeto de sincronización que pfnCreateSynchronizationObjectCb creó.
pfnWaitForSynchronizationObjectCb
Puntero a la función pfnWaitForSynchronizationObjectCb , que el controlador de pantalla en modo de usuario usa para esperar a que se produzcan eventos de sincronización y, a continuación, se usa para devolver.
pfnSignalSynchronizationObjectCb
Puntero a la función pfnSignalSynchronizationObjectCb , que el controlador de pantalla en modo de usuario usa para indicar que los eventos de sincronización ya no son propiedad de un contexto.
pfnSetAsyncCallbacksCb
Puntero a la función pfnSetAsyncCallbacksCb que el controlador de pantalla en modo de usuario usa para notificar al tiempo de ejecución de Direct3D si el tiempo de ejecución se iniciará o dejará de recibir llamadas a las funciones de devolución de llamada del tiempo de ejecución desde un subproceso de trabajo.
Solo las versiones de DirectX 9 y Direct 9L del entorno de ejecución admiten la función pfnSetAsyncCallbacksCb . DirectX 10 y versiones posteriores del runtime establecen el miembro pfnSetAsyncCallbacksCb en NULL cuando el tiempo de ejecución llama a la función CreateDevice(D3D10) del controlador de visualización en modo de usuario para crear un dispositivo de representación.
pfnSetDisplayPrivateDriverFormatCb
Puntero a la función pfnSetDisplayPrivateDriverFormatCb que usa el controlador de pantalla en modo de usuario para cambiar el formato de la superficie principal compartida.
pfnOfferAllocationsCb
Puntero a la función pfnOfferAllocationsCb , que un controlador de pantalla del modo de usuario WDDM 1.2 y versiones posteriores llama al controlador de pantalla para ofrecer asignaciones de memoria de vídeo para su reutilización.
Se admite a partir de Windows 8.
pfnReclaimAllocationsCb
Puntero a la función pfnReclaimAllocationsCb , que un controlador de pantalla en modo de usuario WDDM 1.2 y versiones posteriores llama a para reclamar el acceso a las asignaciones de memoria de vídeo que se ofrecieron anteriormente para su reutilización.
Se admite a partir de Windows 8.
pfnCreateSynchronizationObject2Cb
Puntero a la función pfnCreateSynchronizationObject2Cb , que un controlador de pantalla en modo de usuario WDDM 1.2 y versiones posteriores usa para crear un objeto de sincronización de GPU.
Se admite a partir de Windows 8.
pfnWaitForSynchronizationObject2Cb
Puntero a la función pfnWaitForSynchronizationObject2Cb , que un controlador de pantalla en modo de usuario WDDM 1.2 y versiones posteriores usa para esperar a que se produzcan eventos de sincronización de GPU y, a continuación, se usa para devolver.
Se admite a partir de Windows 8.
pfnSignalSynchronizationObject2Cb
Puntero a la función pfnSignalSynchronizationObject2Cb , que un controlador de pantalla en modo de usuario WDDM 1.2 y versiones posteriores usa para indicar que los eventos de sincronización de GPU ya no son propiedad de un contexto.
Se admite a partir de Windows 8.
pfnPresentMultiPlaneOverlayCb
Puntero a la función pfnPresentMultiPlaneOverlayCb (D3D), que un controlador de pantalla en modo de usuario WDDM 1.3 y versiones posteriores usa para copiar contenido de una asignación de superposición multiplano de origen a una asignación de destino.
Se admite a partir de Windows 8.1.
pfnLogUMDMarkerCb
Puntero a la función pfnLogUMDMarkerCb , que un controlador de visualización en modo de usuario WDDM 1.3 y versiones posteriores llama a para registrar un evento de marcador de seguimiento de eventos personalizado para Windows (ETW).
Se admite a partir de Windows 8.1.
pfnMakeResidentCb
Puntero a la función pfnMakeResidentCb .
pfnEvictCb
Puntero a la función pfnEvictCb .
pfnWaitForSynchronizationObjectFromCpuCb
Puntero a la función pfnWaitForSynchronizationObjectFromCpuCb .
pfnSignalSynchronizationObjectFromCpuCb
Puntero a la función pfnSignalSynchronizationObjectFromCpuCb .
pfnWaitForSynchronizationObjectFromGpuCb
Puntero a la función pfnWaitForSynchronizationObjectFromGpuCb .
pfnSignalSynchronizationObjectFromGpuCb
Puntero a la función pfnSignalSynchronizationObjectFromGpuCb .
pfnCreatePagingQueueCb
Puntero a la función pfnCreatePagingQueueCb .
pfnDestroyPagingQueueCb
Puntero a la función pfnDestroyPagingQueueCb .
pfnLock2Cb
Puntero a la función pfnLock2Cb .
pfnUnlock2Cb
Puntero a la función pfnUnlock2Cb .
pfnInvalidateCacheCb
Puntero a la función pfnInvalidateCacheCb .
pfnReserveGpuVirtualAddressCb
Puntero a la función pfnReserveGpuVirtualAddressCb .
pfnMapGpuVirtualAddressCb
Puntero a la función pfnMapGpuVirtualAddressCb .
pfnFreeGpuVirtualAddressCb
Puntero a la función pfnFreeGpuVirtualAddressCb .
pfnUpdateGpuVirtualAddressCb
Puntero a la función pfnUpdateGpuVirtualAddressCb .
pfnCreateContextVirtualCb
Puntero a la función pfnCreateContextVirtualCb .
pfnSubmitCommandCb
Puntero a la función pfnSubmitCommandCb .
pfnDeallocate2Cb
Puntero a la función pfnDeallocate2Cb .
pfnSignalSynchronizationObjectFromGpu2Cb
Puntero a la función pfnSignalSynchronizationObjectFromGpu2Cb .
pfnReclaimAllocations2Cb
Puntero a la función pfnReclaimAllocations2Cb .
pfnGetResourcePresentPrivateDriverDataCb
Puntero a la función pfnGetResourcePresentPrivateDriverDataCb .
pfnUpdateAllocationPropertyCb
Puntero a la función pfnUpdateAllocationPropertyCb .
pfnOfferAllocations2Cb
Puntero a la función pfnOfferAllocations2Cb .
pfnReclaimAllocations3Cb
Puntero a la función pfnReclaimAllocations3Cb .
pfnAcquireResourceCb
pfnReleaseResourceCb
pfnCreateHwContextCb
Puntero a una función de devolución de llamada PFND3DDDI_CREATEHWCONTEXTCB .
pfnDestroyHwContextCb
Puntero a una función de devolución de llamada PFND3DDDI_DESTROYHWCONTEXTCB .
pfnCreateHwQueueCb
Puntero a una función de devolución de llamada PFND3DDDI_CREATEHWQUEUECB .
pfnDestroyHwQueueCb
Puntero a una función de devolución de llamada PFND3DDDI_DESTROYHWQUEUECB .
pfnSubmitCommandToHwQueueCb
Puntero a una función de devolución de llamada PFND3DDDI_SUBMITCOMMANDTOHWQUEUECB .
pfnSubmitWaitForSyncObjectsToHwQueueCb
Puntero a una función de devolución de llamada PFND3DDDI_SUBMITWAITFORSYNCOBJECTSTOHWQUEUECB .
pfnSubmitSignalSyncObjectsToHwQueueCb
Puntero a una función de devolución de llamada PFND3DDDI_SUBMITSIGNALSYNCOBJECTSTOHWQUEUECB .
pfnSubmitPresentBltToHwQueueCb
Puntero a una función de devolución de llamada PFND3DDDI_SUBMITPRESENTBLTTOHWQUEUECB .
pfnSubmitPresentToHwQueueCb
Puntero a una función de devolución de llamada PFND3DDDI_SUBMITPRESENTTOHWQUEUECB .
pfnSubmitHistorySequenceCb
Puntero a una función de devolución de llamada PFND3DDDI_SUBMITHISTORYSEQUENCECB .
Comentarios
Las declaraciones de las funciones de devolución de llamada a las que D3DDDI_DEVICECALLBACKS miembros apuntan a se pueden encontrar en d3dumddi.h.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista |
Encabezado | d3dumddi.h (incluya D3dumddi.h) |