структура 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 (include D3dhal.h) |