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


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

См. также раздел

D3DDDICB_DESTROYCONTEXT

pfnCreateContextCb