функция обратного вызова PFND3DDDI_PRESENTCB (d3dumddi.h)
Функция pfnPresentCb копирует содержимое из исходного выделения.
Синтаксис
PFND3DDDI_PRESENTCB Pfnd3dddiPresentcb;
HRESULT Pfnd3dddiPresentcb(
HANDLE hDevice,
D3DDDICB_PRESENT *unnamedParam2
)
{...}
Параметры
hDevice
Дескриптор устройства отображения (графический контекст).
unnamedParam2
pData [in]
Указатель на структуру D3DDDICB_PRESENT , описывающую выделение исходного содержимого.
Возвращаемое значение
pfnPresentCb возвращает одно из следующих значений:
Код возврата | Описание |
---|---|
S_OK | Содержимое успешно скопировано. |
E_OUTOFMEMORY | Не удалось завершить pfnPresentCb из-за нехватки памяти. |
E_INVALIDARG | Параметры были проверены и определены как неверные. |
Эта функция также может возвращать другие значения HRESULT.
Комментарии
Драйвер отображения пользовательского режима задает элемент hContextструктуры D3DDDICB_PRESENT , на который указывает параметр pData , в контекст, созданный ранее путем вызова функции pfnCreateContextCb . Драйвер отображения пользовательского режима должен создать по крайней мере один контекст, когда среда выполнения Microsoft Direct3D вызывает функцию CreateDevice или CreateDevice(D3D10) драйвера для создания устройства. Среда выполнения Direct3D отправляет текущую операцию в созданный контекст.
Direct3D версии 11 Примечание. Дополнительные сведения о том, как драйвер вызывает pfnPresentCb, см. в разделе Изменения в Direct3D 10.
Примеры
В следующем примере кода показано, как заполнить область назначения цветом.
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;
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows Vista и более поздних версиях операционных систем Windows. |
Целевая платформа | Персональный компьютер |
Верхняя часть | d3dumddi.h (включая D3dumddi.h) |