структура D3DHAL_CONTEXTCREATEDATA (d3dhal.h)
Структура D3DHAL_CONTEXTCREATEDATA содержит все сведения, необходимые функции D3dContextCreate для создания нового контекста.
Синтаксис
typedef struct _D3DHAL_CONTEXTCREATEDATA {
union {
LPDDRAWI_DIRECTDRAW_GBL lpDDGbl;
LPDDRAWI_DIRECTDRAW_LCL lpDDLcl;
};
union {
LPDIRECTDRAWSURFACE lpDDS;
LPDDRAWI_DDRAWSURFACE_LCL lpDDSLcl;
};
union {
LPDIRECTDRAWSURFACE lpDDSZ;
LPDDRAWI_DDRAWSURFACE_LCL lpDDSZLcl;
};
union {
DWORD dwPID;
ULONG_PTR dwrstates;
};
ULONG_PTR dwhContext;
HRESULT ddrval;
} D3DHAL_CONTEXTCREATEDATA;
Члены
lpDDGbl
Структура драйвера (устаревшая версия).
lpDDLcl
Указывает на объект DirectDraw, который приложение должно создать для получения COM-интерфейса в Direct3D. Это позволяет совместно использовать контекстные сведения между приложением DirectDraw и драйвером. lpDDLcl — это общий фактор привязки между контекстом приложения и контекстом драйвера. Он указывает на структуру DD_DIRECTDRAW_LOCAL , которая используется для идентификации поверхностей, принадлежащих заданному контексту Direct3D и относящегося только к текущему процессу DirectDraw. lpDDLcl необходим, так как поверхности (например, буферы глубины, буферы отрисовки и текстуры) можно создать до создания контекста Direct3D в драйвере.
lpDDS
Surface, используемый в качестве целевого объекта.
lpDDSLcl
Указывает на структуру DD_SURFACE_LOCAL , описывающую поверхность DirectDraw, которая будет использоваться в качестве целевого объекта отрисовки.
lpDDSZ
Surface для использования в качестве Z.
lpDDSZLcl
Указывает на DD_SURFACE_LOCAL структуру, описывающую поверхность DirectDraw, которая будет использоваться в качестве буфера глубины. Если этот член имеет значение NULL, буферизация глубины не выполняется.
dwPID
Указывает идентификатор текущего процесса. Это идентификатор процесса приложения Direct3D, которое инициировало создание устройства Direct3D.
dwrstates
Указывает на массив состояния отрисовки, который драйвер должен обновлять при анализе команд состояния отрисовки из буфера команд. Буфер массива должен быть достаточно большим, чтобы содержать по крайней мере указанное количество значений ULONG.
dwhContext
Указывает расположение, указывающее при входе версию среды выполнения в пользовательском режиме Direct3D, а на выходных данных драйвер возвращает дескриптор контекста после успешного создания контекста. Дополнительные сведения см. в разделе "Примечания".
ddrval
Указывает расположение, в которое драйвер записывает код возврата для D3dContextCreate. Код возврата D3D_OK указывает на успешное выполнение. Код возврата D3DHAL_OUTOFCONTEXTS указывает, что драйвер не может создать контекст. Дополнительные сведения см. в разделе Коды возврата для обратных вызовов драйвера Direct3D.
Комментарии
Когда среда выполнения Direct3D вызывает функцию D3dContextCreate драйвера, среда выполнения задает число, указывающее версию пользовательского режима среды выполнения в элементе dwhContext . В следующей таблице показано сопоставление чисел и версий пользовательского режима.
Число | Версия режима пользователя DirectX |
---|---|
5 | 9.0 |
4 | 8.0 |
3 | 7,0 |
2 | 6,0 |
1 | 5,0 |
0 | 3,0 |
Если драйвер успешно создает контекст, драйвер возвращает идентификатор контекста в dwhContext для среды выполнения Direct3D, который будет использоваться при взаимодействии с драйвером.
Требования
Требование | Значение |
---|---|
Заголовок | d3dhal.h (включая D3dhal.h) |