Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Функция среды выполнения 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) |