Compartir a través de


estructura D3DHAL_CONTEXTCREATEDATA (d3dhal.h)

La estructura D3DHAL_CONTEXTCREATEDATA contiene toda la información que requiere la función D3dContextCreate para crear un contexto.

Sintaxis

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;

Miembros

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.

Comentarios

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.

Requisitos

Requisito Valor
Header d3dhal.h (incluya D3dhal.h)

Consulte también

D3dContextCreate

DD_DIRECTDRAW_LOCAL

DD_SURFACE_LOCAL