Поделиться через


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

См. также

D3DDDICB_DESTROYCONTEXT

pfnCreateContextCb