функция обратного вызова PFND3DDDI_DESTROYCONTEXTCB (d3dumddi.h)
Функция среды выполнения D3D pfnDetextContextCb уничтожает контекст, созданный с помощью вызова функции pfnCreateContextCb.
Синтаксис
PFND3DDDI_DESTROYCONTEXTCB Pfnd3dddiDestroycontextcb;
HRESULT Pfnd3dddiDestroycontextcb(
HANDLE hDevice,
const D3DDDICB_DESTROYCONTEXT *unnamedParam2
)
{...}
Параметры
hDevice
[in] Обработка устройства отображения (т. е. контекст графики).
unnamedParam2
[in] Указатель на структуру D3DDDICB_DESTROYCONTEXT, которая определяет контекст для уничтожения.
Возвращаемое значение
pfnDetextCb возвращает HRESULT, чтобы указать успешность или сбой запроса на удаление контекста. К общим возвращаемым значениям относятся:
Возвращаемый код | Описание |
---|---|
S_OK | Контекст был успешно уничтожен. |
E_INVALIDARG | Параметры были проверены и определены как неверные. |
Замечания
Если указанный контекст не завершил работу, которая в настоящее время находится в очереди, pfnDetextCb, пока контекст не завершит работу, а затем возвращается.
pfnDetextCb возвращает ошибку, если контекст для уничтожения в настоящее время владеет объектом синхронизации.
Сведения о том, как драйвер вызывает pfnDetextContextCb начиная с Direct3D версии 11, см. в разделе Изменения с Direct3D 10.
В следующем примере кода показано, как уничтожить контекст по умолчанию для устройства отображения.
if (m_d3dCallbacks.pfnDestroyContextCb) {
D3DDDICB_DESTROYCONTEXT DestroyContext;
DestroyContext.hContext = m_sContexts[MULTI_ENGINE_NODE_3D].hContext;
m_d3dCallbacks.pfnDestroyContextCb(m_hD3D, &DestroyContext);
m_sContexts[MULTI_ENGINE_NODE_3D].hContext = NULL;
}
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows Vista (WDDM 1.0) |
целевая платформа | Настольный |
заголовка | d3dumddi.h (include D3dumddi.h) |