estructura D3DHAL_CONTEXTCREATEDATA (d3dhal.h)
La estructura D3DHAL_CONTEXTCREATEDATA contiene toda la información que requiere la función D3dContextCreate para crear un contexto.
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
Estructura del controlador (heredada).
lpDDLcl
Apunta al objeto DirectDraw que una aplicación debe crear para recuperar la interfaz COM en Direct3D. Esto permite compartir información de contexto entre una aplicación directDraw y el controlador. lpDDLcl es el factor común y de enlace entre el contexto de la aplicación y el contexto del controlador. Apunta a una estructura de DD_DIRECTDRAW_LOCAL que se usa para identificar las superficies que pertenecen a un contexto de Direct3D determinado y es relevante solo para el proceso de DirectDraw actual. lpDDLcl es necesario porque las superficies (por ejemplo, búferes de profundidad, búferes de representación y texturas) se pueden crear antes de que se cree un contexto de Direct3D en el controlador.
lpDDS
Superficie que se va a usar como destino.
lpDDSLcl
Apunta a una estructura de DD_SURFACE_LOCAL que describe la superficie de DirectDraw que se usará como destino de representación.
lpDDSZ
Superficie que se va a usar como Z.
lpDDSZLcl
Apunta a una estructura de DD_SURFACE_LOCAL que describe la superficie de DirectDraw que se va a usar como búfer de profundidad. Si este miembro es NULL, no se realizará ningún almacenamiento en búfer de profundidad.
dwPID
Especifica el identificador de proceso actual. Este es el identificador de proceso de la aplicación Direct3D que inició la creación del dispositivo Direct3D.
dwrstates
Apunta a una matriz de estado de representación que el controlador debe actualizar cuando analiza los comandos de estado de representación del búfer de comandos. El búfer de matriz debe ser lo suficientemente grande como para contener al menos el número especificado de valores de ULONG.
dwhContext
Especifica una ubicación que indica, en la entrada, la versión del tiempo de ejecución del modo de usuario de Direct3D y, en la salida, donde el controlador devuelve el identificador de contexto al crear correctamente el contexto. Vea Comentarios para obtener más información.
ddrval
Especifica la ubicación donde el controlador escribe el código de retorno para D3dContextCreate. Un código de retorno de D3D_OK indica que se ha realizado correctamente. Un código de retorno de D3DHAL_OUTOFCONTEXTS indica que el controlador no puede crear el contexto. Para obtener más información, consulta Códigos de retorno para devoluciones de llamada del controlador de Direct3D.
Cuando el tiempo de ejecución de Direct3D llama a la función D3dContextCreate del controlador, el tiempo de ejecución especifica un número que indica la versión del modo de usuario del runtime en el miembro dwhContext . En la tabla siguiente se muestra una asignación de números y versiones en modo de usuario.
Number | Versión del modo de usuario de DirectX |
---|---|
5 | 9.0 |
4 | 8.0 |
3 | 7.0 |
2 | 6.0 |
1 | 5.0 |
0 | 3.0 |
Si el controlador crea correctamente un contexto, el controlador devuelve el identificador de contexto en dwhContext para que el tiempo de ejecución de Direct3D lo use al comunicarse con el controlador.
Requisito | Valor |
---|---|
Header | d3dhal.h (incluya D3dhal.h) |