функция обратного вызова PFND3DDDI_DESTROYCONTEXTCB (d3dumddi.h)
Функция pfnDetextCb уничтожает контекст, созданный с помощью вызова функции pfnCreateContextCb .
Синтаксис
PFND3DDDI_DESTROYCONTEXTCB Pfnd3dddiDestroycontextcb;
HRESULT Pfnd3dddiDestroycontextcb(
HANDLE hDevice,
const D3DDDICB_DESTROYCONTEXT *unnamedParam2
)
{...}
Параметры
hDevice
Дескриптор для устройства отображения (то есть графического контекста).
unnamedParam2
pData [in]
Указатель на структуру D3DDDICB_DESTROYCONTEXT , содержащую дескриптор контекста для уничтожения.
Возвращаемое значение
pfnDetextCb возвращает одно из следующих значений:
Код возврата | Описание |
---|---|
S_OK | Контекст успешно уничтожен. |
E_INVALIDARG | Параметры были проверены и определены как неверные. |
Эта функция также может возвращать другие значения HRESULT.
Комментарии
Если указанный контекст не завершил работу, которая в данный момент поставлена в очередь, функция pfnDetextContextCb блокируется, пока контекст не завершит свою работу, а затем возвращается.
pfnDetextCb возвращает ошибку, если контекст, который необходимо уничтожить, в настоящее время принадлежит объекту синхронизации.
Direct3D версии 11 Примечание. Дополнительные сведения о том, как драйвер вызывает pfnDetextCb, см. в разделе Изменения из 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 и более поздних версиях операционных систем Windows. |
Целевая платформа | Персональный компьютер |
Верхняя часть | d3dumddi.h (включая D3dumddi.h) |