функция обратного вызова 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 (include D3dumddi.h) |