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)