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


функция обратного вызова LPD3DHAL_CONTEXTCREATECB (d3dhal.h)

Функция D3dContextCreate создает контекст.

Синтаксис

LPD3DHAL_CONTEXTCREATECB Lpd3dhalContextcreatecb;

DWORD Lpd3dhalContextcreatecb(
  LPD3DHAL_CONTEXTCREATEDATA unnamedParam1
)
{...}

Параметры

unnamedParam1

pccd [in]

Указывает на структуру D3DHAL_CONTEXTCREATEDATA , содержащую сведения, необходимые для создания контекста, и данные, которые драйвер должен хранить в новом контексте.

Возвращаемое значение

D3dContextCreate возвращает один из следующих кодов обратного вызова:

Комментарии

D3dContextCreate необходимо реализовать в драйверах, поддерживающих Microsoft Direct3D. Он должен выполнить следующие действия:

  • Инициализируйте контекст драйвера всеми сведениями, необходимыми драйверу для выполнения отрисовки. Сюда входит связывание целевого объекта отрисовки и буфера глубины, которые члены lpDDSLcl и lpDDSZLcl D3DHAL_CONTEXTCREATEDATA структуры в точке PCCD соответственно, с контекстом.
  • Создайте уникальный идентификатор контекста для этого нового контекста и верните его в элементе dwhContext D3DHAL_CONTEXTCREATEDATA. Direct3D использует этот идентификатор контекста при каждом последующем обратном вызове устройства Direct3D. Драйвер никогда не должен создавать маркер контекста, равный нулю.
  • Задайте для элемента ddrval D3DHAL_CONTEXTCREATEDATA значение DD_OK при успешном выполнении и D3DHAL_OUTOFCONTEXTS, если не удается создать контекст.
  • Возврат DDHAL_DRIVER_HANDLED.
D3dContextCreate не должен кэшировать указатель на структуру DD_DIRECTDRAW_LOCAL , переданную в качестве члена lpDDLcl D3DHAL_CONTEXTCREATEDATA. Если драйверу впоследствии потребуются какие-либо сведения, доступ к которым осуществляется через этот указатель DD_DIRECTDRAW_LOCAL, драйвер должен сохранить эти сведения в структуре данных частного контекста драйвера.

Состояние не является общим для контекстов; Поэтому драйвер должен хранить полные сведения о состоянии для каждого контекста. Это состояние изменяется при последующих вызовах D3dDrawPrimitives2.

Драйвер должен иметь возможность ссылаться на все дескриптора текстуры, созданные в контексте. Затем драйвер может очистить все данные, относящиеся к конкретному драйверу, связанные с текстурами, созданными в этом контексте, при вызове D3dContextDeкислоу.

D3dContextCreate можно вызвать с отключенным PDEV. PDEV отключается или включается путем вызова функции DrvAssertMode драйвера дисплея. Дополнительные сведения см. в разделе Управление PDEV .

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть d3dhal.h (включая D3dhal.h)

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

D3DHAL_CONTEXTCREATEDATA

D3dContextDe

D3dDrawPrimitives2

DD_DIRECTDRAW_LOCAL