estrutura D3DDDI_DEVICECALLBACKS (d3dumddi.h)
A estrutura D3DDDI_DEVICECALLBACKS contém funções de retorno de chamada de runtime do Microsoft Direct3D que o driver de exibição do modo de usuário pode usar.
Sintaxe
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;
Membros
pfnAllocateCb
Um ponteiro para a função pfnAllocateCb , que o driver de exibição do modo de usuário usa para solicitar que o runtime do Direct3D crie uma alocação de memória para uso pelo driver.
pfnDeallocateCb
Um ponteiro para a função pfnDeallocateCb , que o driver de exibição do modo de usuário usa para solicitar que a memória livre do runtime do Direct3D tenha sido alocada anteriormente.
pfnSetPriorityCb
Um ponteiro para a função pfnSetPriorityCb , que o driver de exibição do modo de usuário usa para definir a prioridade de um recurso ou lista de alocações.
pfnQueryResidencyCb
Um ponteiro para a função pfnQueryResidencyCb, que o driver de exibição do modo de usuário usa para consultar o status de residência de um recurso ou lista de alocações.
pfnSetDisplayModeCb
Um ponteiro para a função pfnSetDisplayModeCb , que o driver de exibição do modo de usuário usa para definir uma alocação para exibição.
pfnPresentCb
Um ponteiro para a função pfnPresentCb , que o driver de exibição do modo de usuário usa para enviar um comando presente para o driver de miniporta de exibição.
pfnRenderCb
Um ponteiro para a função pfnRenderCb , que o driver de exibição do modo de usuário usa para enviar um buffer de comando para o driver de miniporta de exibição.
pfnLockCb
Um ponteiro para a função pfnLockCb , que o driver de exibição do modo de usuário usa para solicitar um bloqueio do driver de miniporta de exibição. Esse bloqueio não pode ser tratado completamente pelo driver de exibição do modo de usuário.
pfnUnlockCb
Um ponteiro para a função pfnUnlockCb , que o driver de exibição do modo de usuário usa para chamar o driver de miniporto de exibição para um desbloqueio. Esse desbloqueio não pode ser tratado completamente pelo driver de exibição do modo de usuário.
pfnEscapeCb
Um ponteiro para a função pfnEscapeCb , que o driver de exibição do modo de usuário usa para compartilhar informações com o driver de miniporto de exibição.
pfnCreateOverlayCb
Um ponteiro para a função pfnCreateOverlayCb , que o driver de exibição do modo de usuário usa para criar e exibir um objeto de sobreposição no modo kernel.
pfnUpdateOverlayCb
Um ponteiro para a função pfnUpdateOverlayCb , que o driver de exibição do modo de usuário usa para modificar um objeto de sobreposição no modo kernel.
pfnFlipOverlayCb
Um ponteiro para a função pfnFlipOverlayCb , que o driver de exibição do modo de usuário usa para alterar a alocação exibida pela sobreposição.
pfnDestroyOverlayCb
Um ponteiro para a função pfnDestroyOverlayCb , que o driver de exibição do modo de usuário usa para destruir um objeto de sobreposição no modo kernel e impedir que a sobreposição seja exibida.
pfnCreateContextCb
Um ponteiro para a função pfnCreateContextCb , que o driver de exibição do modo de usuário usa para criar um contexto para enviar solicitações.
pfnDestroyContextCb
Um ponteiro para a função pfnDestroyContextCb , que o driver de exibição do modo de usuário usa para destruir um contexto que pfnCreateContextCb criou.
pfnCreateSynchronizationObjectCb
Um ponteiro para a função pfnCreateSynchronizationObjectCb , que o driver de exibição do modo de usuário usa para criar um objeto de sincronização.
pfnDestroySynchronizationObjectCb
Um ponteiro para a função pfnDestroySynchronizationObjectCb , que o driver de exibição do modo de usuário usa para destruir um objeto de sincronização que pfnCreateSynchronizationObjectCb criou.
pfnWaitForSynchronizationObjectCb
Um ponteiro para a função pfnWaitForSynchronizationObjectCb , que o driver de exibição do modo de usuário usa para aguardar a ocorrência de eventos de sincronização e, em seguida, usa para retornar.
pfnSignalSynchronizationObjectCb
Um ponteiro para a função pfnSignalSynchronizationObjectCb , que o driver de exibição do modo de usuário usa para sinalizar que os eventos de sincronização não pertencem mais a um contexto.
pfnSetAsyncCallbacksCb
Um ponteiro para a função pfnSetAsyncCallbacksCb que o driver de exibição do modo de usuário usa para notificar o runtime do Direct3D se o runtime iniciará ou interromperá o recebimento de chamadas para as funções de retorno de chamada do runtime de um thread de trabalho.
Somente as versões DirectX 9 e Direct 9L do runtime dão suporte à função pfnSetAsyncCallbacksCb . O DirectX 10 e versões posteriores do runtime definem o membro pfnSetAsyncCallbacksCb como NULL quando o runtime chama a função CreateDevice(D3D10) do driver de exibição no modo de usuário para criar um dispositivo de renderização.
pfnSetDisplayPrivateDriverFormatCb
Um ponteiro para a função pfnSetDisplayPrivateDriverFormatCb que o driver de exibição do modo de usuário usa para alterar o formato da superfície primária compartilhada.
pfnOfferAllocationsCb
Um ponteiro para a função pfnOfferAllocationsCb , que um driver de exibição do modo de usuário WDDM 1.2 e posterior chama para oferecer alocações de memória de vídeo para reutilização.
Com suporte a partir do Windows 8.
pfnReclaimAllocationsCb
Um ponteiro para a função pfnReclaimAllocationsCb , que um driver de exibição do modo de usuário WDDM 1.2 e posterior chama para recuperar o acesso às alocações de memória de vídeo oferecidas anteriormente para reutilização.
Com suporte a partir do Windows 8.
pfnCreateSynchronizationObject2Cb
Um ponteiro para a função pfnCreateSynchronizationObject2Cb , que um driver de exibição do modo de usuário WDDM 1.2 e posterior usa para criar um objeto de sincronização de GPU.
Com suporte a partir do Windows 8.
pfnWaitForSynchronizationObject2Cb
Um ponteiro para a função pfnWaitForSynchronizationObject2Cb , que um driver de exibição do modo de usuário WDDM 1.2 e posterior usa para aguardar a ocorrência de eventos de sincronização de GPU e, em seguida, usa para retornar.
Com suporte a partir do Windows 8.
pfnSignalSynchronizationObject2Cb
Um ponteiro para a função pfnSignalSynchronizationObject2Cb , que um driver de exibição do modo de usuário WDDM 1.2 e posterior usa para sinalizar que os eventos de sincronização de GPU não pertencem mais a um contexto.
Com suporte a partir do Windows 8.
pfnPresentMultiPlaneOverlayCb
Um ponteiro para a função pfnPresentMultiPlaneOverlayCb (D3D), que um driver de exibição do modo de usuário WDDM 1.3 e posterior usa para copiar conteúdo de uma alocação de sobreposição de vários planos de origem para uma alocação de destino.
Suporte começando com Windows 8.1.
pfnLogUMDMarkerCb
Um ponteiro para a função pfnLogUMDMarkerCb , que um driver de exibição do modo de usuário WDDM 1.3 e posterior chama para registrar um evento de marcador etw (Rastreamento de Eventos para Windows) personalizado.
Suporte começando com Windows 8.1.
pfnMakeResidentCb
Um ponteiro para a função pfnMakeResidentCb .
pfnEvictCb
Um ponteiro para a função pfnEvictCb .
pfnWaitForSynchronizationObjectFromCpuCb
Um ponteiro para a função pfnWaitForSynchronizationObjectFromCpuCb .
pfnSignalSynchronizationObjectFromCpuCb
Um ponteiro para a função pfnSignalSynchronizationObjectFromCpuCb .
pfnWaitForSynchronizationObjectFromGpuCb
Um ponteiro para a função pfnWaitForSynchronizationObjectFromGpuCb .
pfnSignalSynchronizationObjectFromGpuCb
Um ponteiro para a função pfnSignalSynchronizationObjectFromGpuCb .
pfnCreatePagingQueueCb
Um ponteiro para a função pfnCreatePagingQueueCb .
pfnDestroyPagingQueueCb
Um ponteiro para a função pfnDestroyPagingQueueCb .
pfnLock2Cb
Um ponteiro para a função pfnLock2Cb .
pfnUnlock2Cb
Um ponteiro para a função pfnUnlock2Cb .
pfnInvalidateCacheCb
Um ponteiro para a função pfnInvalidateCacheCb .
pfnReserveGpuVirtualAddressCb
Um ponteiro para a função pfnReserveGpuVirtualAddressCb .
pfnMapGpuVirtualAddressCb
Um ponteiro para a função pfnMapGpuVirtualAddressCb .
pfnFreeGpuVirtualAddressCb
Um ponteiro para a função pfnFreeGpuVirtualAddressCb .
pfnUpdateGpuVirtualAddressCb
Um ponteiro para a função pfnUpdateGpuVirtualAddressCb .
pfnCreateContextVirtualCb
Um ponteiro para a função pfnCreateContextVirtualCb .
pfnSubmitCommandCb
Um ponteiro para a função pfnSubmitCommandCb .
pfnDeallocate2Cb
Um ponteiro para a função pfnDeallocate2Cb .
pfnSignalSynchronizationObjectFromGpu2Cb
Um ponteiro para a função pfnSignalSynchronizationObjectFromGpu2Cb .
pfnReclaimAllocations2Cb
Um ponteiro para a função pfnReclaimAllocations2Cb .
pfnGetResourcePresentPrivateDriverDataCb
Um ponteiro para a função pfnGetResourcePresentPrivateDriverDataCb .
pfnUpdateAllocationPropertyCb
Um ponteiro para a função pfnUpdateAllocationPropertyCb .
pfnOfferAllocations2Cb
Um ponteiro para a função pfnOfferAllocations2Cb .
pfnReclaimAllocations3Cb
Um ponteiro para a função pfnReclaimAllocations3Cb .
pfnAcquireResourceCb
pfnReleaseResourceCb
pfnCreateHwContextCb
Um ponteiro para uma função de retorno de chamada PFND3DDDI_CREATEHWCONTEXTCB.
pfnDestroyHwContextCb
Um ponteiro para uma função de retorno de chamada PFND3DDDI_DESTROYHWCONTEXTCB.
pfnCreateHwQueueCb
Um ponteiro para uma função de retorno de chamada PFND3DDDI_CREATEHWQUEUECB.
pfnDestroyHwQueueCb
Um ponteiro para uma função de retorno de chamada PFND3DDDI_DESTROYHWQUEUECB.
pfnSubmitCommandToHwQueueCb
Um ponteiro para uma função de retorno de chamada PFND3DDDI_SUBMITCOMMANDTOHWQUEUECB.
pfnSubmitWaitForSyncObjectsToHwQueueCb
Um ponteiro para uma função de retorno de chamada PFND3DDDI_SUBMITWAITFORSYNCOBJECTSTOHWQUEUECB.
pfnSubmitSignalSyncObjectsToHwQueueCb
Um ponteiro para uma função de retorno de chamada PFND3DDDI_SUBMITSIGNALSYNCOBJECTSTOHWQUEUECB.
pfnSubmitPresentBltToHwQueueCb
Um ponteiro para uma função de retorno de chamada PFND3DDDI_SUBMITPRESENTBLTTOHWQUEUECB.
pfnSubmitPresentToHwQueueCb
Ponteiro para uma função de retorno de chamada PFND3DDDI_SUBMITPRESENTTOHWQUEUECB.
pfnSubmitHistorySequenceCb
Ponteiro para uma função de retorno de chamada PFND3DDDI_SUBMITHISTORYSEQUENCECB.
Comentários
As declarações para as funções de retorno de chamada que D3DDDI_DEVICECALLBACKS membros apontam podem ser encontradas em d3dumddi.h.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista |
Cabeçalho | d3dumddi.h (inclua D3dumddi.h) |