PFND3DDDI_PRESENTCB função de retorno de chamada (d3dumddi.h)
A função pfnPresentCb copia o conteúdo de uma alocação de origem.
Sintaxe
PFND3DDDI_PRESENTCB Pfnd3dddiPresentcb;
HRESULT Pfnd3dddiPresentcb(
HANDLE hDevice,
D3DDDICB_PRESENT *unnamedParam2
)
{...}
Parâmetros
hDevice
Um identificador para um dispositivo de exibição (contexto gráfico).
unnamedParam2
pData [in]
Um ponteiro para uma estrutura D3DDDICB_PRESENT que descreve a alocação de origem da qual o conteúdo é copiado.
Retornar valor
pfnPresentCb retorna um dos seguintes valores:
Código de retorno | Descrição |
---|---|
S_OK | O conteúdo foi copiado com êxito. |
E_OUTOFMEMORY | pfnPresentCb não pôde ser concluído devido à memória insuficiente. |
E_INVALIDARG | Os parâmetros foram validados e determinados como incorretos. |
Essa função também pode retornar outros valores HRESULT.
Comentários
O driver de exibição do modo de usuário define o membro hContext da estrutura D3DDDICB_PRESENT apontada pelo parâmetro pData para um contexto que ele criou anteriormente chamando a função pfnCreateContextCb . O driver de exibição do modo de usuário deve criar pelo menos um contexto quando o runtime do Microsoft Direct3D chama a função CreateDevice ou CreateDevice(D3D10) do driver para criar um dispositivo. O runtime do Direct3D envia a operação atual para um contexto criado.
Direct3D Versão 11 Observação: Para obter mais informações sobre como o driver chama pfnPresentCb, consulte Alterações do Direct3D 10.
Exemplos
O exemplo de código a seguir mostra como preencher uma superfície de destino por cores.
HRESULT hr=S_OK;
// A color-fill request that does not have a source surface
D3DDDICB_PRESENT PresentCBData = {0};
PresentCBData.hContext = m_sContexts[MULTI_ENGINE_NODE_3D].hContext;
PresentCBData.hSrcAllocation = NULL;
if (pPresent->hDstResource) {
DWORD dwDstSurf = ((DWORD)(DWORD_PTR)pPresent->hDstResource) + pPresent->DstSubResourceIndex;
_ASSERT(dwDstSurf < m_RTbl.Size());
m_RTbl[dwDstSurf].m_qwBatch = m_qwBatch;
PresentCBData.hDstAllocation = R200GetSurfaceAllocHandle(m_pR200Ctx, dwDstSurf);
}
hr = m_d3dCallbacks.pfnPresentCb(m_hD3D, &PresentCBData);
return hr;
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível no Windows Vista e versões posteriores dos sistemas operacionais Windows. |
Plataforma de Destino | Área de Trabalho |
Cabeçalho | d3dumddi.h (inclua D3dumddi.h) |