estructura D3D10DDIARG_CREATEDEVICE (d3d10umddi.h)
La estructura D3D10DDIARG_CREATEDEVICE describe el dispositivo para mostrar que se va a crear.
Sintaxis
typedef struct D3D10DDIARG_CREATEDEVICE {
D3D10DDI_HRTDEVICE hRTDevice;
UINT Interface;
UINT Version;
const D3DDDI_DEVICECALLBACKS *pKTCallbacks;
union {
D3D10DDI_DEVICEFUNCS *pDeviceFuncs;
D3D10_1DDI_DEVICEFUNCS *p10_1DeviceFuncs;
D3D11DDI_DEVICEFUNCS *p11DeviceFuncs;
D3D11_1DDI_DEVICEFUNCS *p11_1DeviceFuncs;
D3DWDDM1_3DDI_DEVICEFUNCS *pWDDM1_3DeviceFuncs;
D3DWDDM2_0DDI_DEVICEFUNCS *pWDDM2_0DeviceFuncs;
D3DWDDM2_1DDI_DEVICEFUNCS *pWDDM2_1DeviceFuncs;
D3DWDDM2_2DDI_DEVICEFUNCS *pWDDM2_2DeviceFuncs;
D3DWDDM2_6DDI_DEVICEFUNCS *pWDDM2_6DeviceFuncs;
};
D3D10DDI_HDEVICE hDrvDevice;
DXGI_DDI_BASE_ARGS DXGIBaseDDI;
D3D10DDI_HRTCORELAYER hRTCoreLayer;
union {
const D3D10DDI_CORELAYER_DEVICECALLBACKS *pUMCallbacks;
const D3D11DDI_CORELAYER_DEVICECALLBACKS *p11UMCallbacks;
const D3DWDDM2_0DDI_CORELAYER_DEVICECALLBACKS *pWDDM2_0UMCallbacks;
const D3DWDDM2_2DDI_CORELAYER_DEVICECALLBACKS *pWDDM2_2UMCallbacks;
const D3DWDDM2_6DDI_CORELAYER_DEVICECALLBACKS *pWDDM2_6UMCallbacks;
};
UINT Flags;
PFND3D10DDI_RETRIEVESUBOBJECT *ppfnRetrieveSubObject;
} D3D10DDIARG_CREATEDEVICE;
Miembros
hRTDevice
[in] Identificador del dispositivo de visualización (contexto de gráficos) que especifica el identificador que el controlador debe usar cuando llama de nuevo al entorno de ejecución de Direct3D (es decir, cuando el controlador llama a funciones que especifica el miembro pKTCallbacks).
Interface
[in] La versión de la interfaz de Direct3D. Los 16 bits altos almacenan el número de versión principal (como 10, 11, etc.); los 16 bits bajos almacenan el número de versión secundaria (por ejemplo, 0, 1, 2, etc.). El número de versión secundaria se incrementará cuando se libere un cambio en la interfaz.
Version
[in] Número que el controlador puede usar para identificar cuándo se creó el entorno de ejecución de Direct3D. Los 16 bits altos representan el número de compilación; los 16 bits bajos representan el número de revisión.
El controlador solo es necesario para supervisar los 16 bits elevados. El controlador debe asegurarse de que la versión de compilación en tiempo de ejecución que se pasa sea mayor o igual que la versión de compilación actual del controlador. El controlador debe devolver un error de su función CreateDevice(D3D10) si la versión de compilación pasada no es compatible.
pKTCallbacks
[in] Puntero a una estructura de D3DDDI_DEVICECALLBACKS que contiene una tabla de funciones de devolución de llamada en tiempo de ejecución de Direct3D que el controlador puede usar para acceder a los servicios de kernel.
pDeviceFuncs
[in/out] Puntero a una estructura de D3D10DDI_DEVICEFUNCS que el controlador de visualización en modo de usuario rellena con una tabla de sus funciones. El tiempo de ejecución de Direct3D usa estas funciones para comunicarse con el controlador de visualización en modo de usuario.
El controlador debe rellenar sus funciones de Direct3D versión 10.0 en la estructura de D3D10DDI_DEVICEFUNCS proporcionada cuando el valor del miembro Interface de es D3D10_0_DDI_INTERFACE_VERSION.
p10_1DeviceFuncs
[in/out] Puntero a una estructura de D3D10_1DDI_DEVICEFUNCS que el controlador de visualización en modo de usuario rellena con una tabla de sus funciones. La versión 10.1 del entorno de ejecución de Direct3D usa estas funciones para comunicarse con el controlador de pantalla en modo de usuario.
El controlador debe rellenar sus funciones de Direct3D versión 10.1 en la estructura de D3D10_1DDI_DEVICEFUNCS proporcionada cuando el valor del miembro interface de es D3D10_1_DDI_INTERFACE_VERSION.
Se admite a partir de Windows Vista con SP1 y Windows Server 2008.
p11DeviceFuncs
[in/out] Puntero a una estructura de D3D11DDI_DEVICEFUNCS que el controlador de visualización en modo de usuario rellena con una tabla de sus funciones. La versión 11 del entorno de ejecución de Direct3D usa estas funciones para comunicarse con el controlador de pantalla en modo de usuario.
El controlador debe rellenar sus funciones de Direct3D versión 11.0 en la estructura de D3D11DDI_DEVICEFUNCS proporcionada cuando el valor del miembro de interfaz de es D3D11_0_DDI_INTERFACE_VERSION.
Se admite a partir de Windows 7.
p11_1DeviceFuncs
[in/out] Puntero a una estructura de D3D11_1DDI_DEVICEFUNCS que el controlador de visualización en modo de usuario rellena con una tabla de sus funciones. A partir de la versión 11.1, el entorno de ejecución de Direct3D usa estas funciones para comunicarse con el controlador de pantalla en modo de usuario.
El controlador debe rellenar sus funciones de Direct3D versión 11.1 en la estructura de D3D11_1DDI_DEVICEFUNCS proporcionada cuando el valor del miembro Interface de es D3D11_1_DDI_INTERFACE_VERSION.
Se admite a partir de Windows 8.
pWDDM1_3DeviceFuncs
[in/out] Puntero a una estructura de D3DWDDM1_3DDI_DEVICEFUNCS que el controlador de visualización en modo de usuario rellena con una tabla de sus funciones. La versión 11.2 del entorno de ejecución de Direct3D usa estas funciones para comunicarse con el controlador de pantalla en modo de usuario.
El controlador debe rellenar sus funciones de Direct3D versión 11.2 en la estructura de D3DWDDM1_3DDI_DEVICEFUNCS proporcionada cuando el valor del miembro Interface de es D3DWDDM1_3_DDI_INTERFACE_VERSION.
Se admite a partir de Windows 8.1.
pWDDM2_0DeviceFuncs
[in/out] Puntero a una estructura de D3DWDDM2_0DDI_DEVICEFUNCS que el controlador de visualización en modo de usuario rellena con una tabla de sus funciones. El controlador debe rellenar sus funciones de Direct3D en la estructura proporcionada cuando el valor del miembro interface de es D3DWDDM2_0_DDI_INTERFACE_VERSION.
pWDDM2_1DeviceFuncs
[in/out] Puntero a una estructura D3DWDDM2_1DDI_DEVICEFUNCS que el controlador de visualización en modo de usuario rellena con una tabla de sus funciones. El controlador debe rellenar sus funciones de Direct3D en la estructura proporcionada cuando el valor del miembro interface de es D3DWDDM2_0_DDI_INTERFACE_VERSION.
pWDDM2_2DeviceFuncs
[in/out] Puntero a una estructura de D3DWDDM2_2DDI_DEVICEFUNCS que el controlador de visualización en modo de usuario rellena con una tabla de sus funciones. El controlador debe rellenar sus funciones de Direct3D en la estructura proporcionada cuando el valor del miembro interface de es D3DWDDM2_0_DDI_INTERFACE_VERSION.
pWDDM2_6DeviceFuncs
[in/out] Puntero a una estructura de D3DWDDM2_6DDI_DEVICEFUNCS que el controlador de visualización en modo de usuario rellena con una tabla de sus funciones. El controlador debe rellenar sus funciones de Direct3D en la estructura proporcionada cuando el valor del miembro interface de es D3DWDDM2_0_DDI_INTERFACE_VERSION.
Se admite a partir de Windows 10, versión 1901.
hDrvDevice
[in/out] Identificador del dispositivo de visualización (contexto de gráficos) que usa el tiempo de ejecución de Direct3D en llamadas posteriores del controlador para identificar el dispositivo de visualización.
DXGIBaseDDI
[in/out] Estructura DXGI_DDI_BASE_ARGS que proporciona acceso a DXGI. DxGI DDI controla tareas de bajo nivel, como presentar fotogramas representados a una salida, controlar gamma y administrar una transición de pantalla completa.
hRTCoreLayer
[in] Identificador que el controlador debe usar cuando vuelve a llamar al entorno de ejecución de Direct3D para acceder a la funcionalidad principal de Direct3D 10 (es decir, cuando el controlador llama a funciones que especifica el miembro de pUMCallbacks).
pUMCallbacks
[in] Puntero a una estructura de D3D10DDI_CORELAYER_DEVICECALLBACKS que contiene una tabla de funciones de devolución de llamada en tiempo de ejecución de Direct3D 10 que el controlador puede usar para acceder a la funcionalidad principal del entorno de ejecución del modo de usuario.
p11UMCallbacks
[in] Puntero a una estructura de D3D11DDI_CORELAYER_DEVICECALLBACKS que contiene una tabla de funciones de devolución de llamada en tiempo de ejecución de Direct3D 10 y Direct3D 11, que el controlador puede usar para acceder a la funcionalidad principal en tiempo de ejecución del modo de usuario.
Se admite a partir de Windows 7.
pWDDM2_0UMCallbacks
[in] Puntero a una estructura de D3DWDDM2_0DDI_CORELAYER_DEVICECALLBACKS que contiene una tabla de funciones de devolución de llamada de Direct3D 10, Direct3D 11 y WDDM 2.0, que el controlador puede usar para acceder a la funcionalidad principal del entorno de ejecución del modo de usuario.
pWDDM2_2UMCallbacks
[in] Puntero a una estructura de D3DWDDM2_2DDI_CORELAYER_DEVICECALLBACKS que contiene una tabla de funciones de devolución de llamada en tiempo de ejecución de Direct3D 10, Direct3D 11, WDDM 2.0 y WDDM 2.2, que el controlador puede usar para acceder a la funcionalidad principal del tiempo de ejecución del modo de usuario.
pWDDM2_6UMCallbacks
[in] Puntero a una estructura de D3DWDDM2_6DDI_CORELAYER_DEVICECALLBACKS que contiene una tabla de funciones de devolución de llamada en tiempo de ejecución de Direct3D 10, Direct3D 11, WDDM 2.0, WDDM 2.2 y WDDM 2.6, que el controlador puede usar para acceder a la funcionalidad principal en tiempo de ejecución del modo de usuario.
Flags
[in] OR bit a bit válido de los valores de marca que identifican cómo crear el dispositivo para mostrar. El entorno de ejecución de Direct3D admite las marcas siguientes:
Bandera | Significado |
---|---|
D3D10DDI_CREATEDEVICE_FLAG_DISABLE_EXTRA_THREAD_CREATION (0x1) | Si se establece esta marca, el controlador de pantalla en modo de usuario no debe ejecutar varios subprocesos simultáneamente cuando procesa llamadas a sus funciones desde el tiempo de ejecución de Direct3D. Normalmente, un controlador puede iniciar y ejecutar varios subprocesos para procesar las operaciones más rápido, a menos que se establezca la marca de D3D10DDI_CREATEDEVICE_FLAG_DISABLE_EXTRA_THREAD_CREATION. |
D3D11DDI_CREATEDEVICE_FLAG_SINGLETHREADED (0x10) | Informa al controlador de pantalla en modo de usuario de que la aplicación es un único subproceso. El entorno de ejecución de Direct3D 11 permite que varios subprocesos de aplicación entren en el controlador si el controlador permite este modo de funcionamiento. Sin embargo, no todas las aplicaciones pueden ejecutar varios subprocesos. Si se establece esta marca, el controlador no espera que varios subprocesos lo escriban y se ejecuten simultáneamente. El controlador puede evitar la sincronización si se establece esta marca. Se admite a partir de Windows 7. |
Marca que se establece en la máscara de 0xE del miembro Flags | Representa el nivel de canalización 3D que el controlador debe admitir para el dispositivo de visualización. Vea comentarios. Se admite a partir de Windows 7. |
ppfnRetrieveSubObject
[in/out] Puntero a una función de RetrieveSubObject(D3D11_1) que recupera las subpartes de un objeto de dispositivo de controlador Direct3D.
Se admite a partir de Windows 8.
Observaciones
El controlador examina los valores de los miembros de Interface y Version para determinar si se deben rellenar los D3D10DDI_DEVICEFUNCS, D3D10_1DDI_DEVICEFUNCS, D3D11DDI_DEVICEFUNCS, D3D11_1DDI_DEVICEFUNCS, o D3DWDDM1_3DDI_DEVICEFUNCS estructura que pDeviceFuncs, p10_1DeviceFuncs, p11DeviceFuncs, p11_1DeviceFuncso pWDDM1_3DeviceFuncs miembro apunta a con las funciones del controlador. Las siguientes constantes de D3d10umddi.h son ejemplos de las constantes que el controlador puede encontrar en Interface y Version:
#define D3D10_1_DDI_MINOR_VERSION 2
#define D3D10_1_DDI_INTERFACE_VERSION ((D3D10_DDI_MAJOR_VERSION << 16) | D3D10_1_DDI_MINOR_VERSION)
#define D3D10_1_DDI_BUILD_VERSION 1
#define D3D10_1_DDI_SUPPORTED ((((UINT64)D3D10_1_DDI_INTERFACE_VERSION) << 32) | (((UINT64)D3D10_1_DDI_BUILD_VERSION) << 16))
Otras posibles combinaciones de constantes para diferentes versiones del sistema operativo, Direct3D y windows Display Driver Model (WDDM) se muestran en el encabezado de D3d10umddi.h de.
Para la marca establecida en la máscara de 0xE del miembro Flags, el controlador usa las siguientes constantes y macros para extraer uno de los valores de la enumeración D3D11DDI_3DPIPELINELEVEL que representa el nivel de canalización 3D que se va a admitir. El valor del miembro Flags tiene formato como el miembro Caps de la estructura de D3D11DDI_3DPIPELINESUPPORT_CAPS.
#define D3D11DDI_CREATEDEVICE_FLAG_3DPIPELINESUPPORT_SHIFT (0x1)
#define D3D11DDI_CREATEDEVICE_FLAG_3DPIPELINESUPPORT_MASK (0x7 << D3D11DDI_CREATEDEVICE_FLAG_3DPIPELINESUPPORT_SHIFT)
#define D3D11DDI_EXTRACT_3DPIPELINELEVEL_FROM_FLAGS( Flags ) \
((D3D11DDI_3DPIPELINELEVEL)(((Flags) & D3D11DDI_CREATEDEVICE_FLAG_3DPIPELINESUPPORT_MASK) >> \
D3D11DDI_CREATEDEVICE_FLAG_3DPIPELINESUPPORT_SHIFT))
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows Vista |
encabezado de | d3d10umddi.h (incluya D3d10umddi.h) |
Consulte también
D3D10DDI_CORELAYER_DEVICECALLBACKS
D3D11DDI_3DPIPELINESUPPORT_CAPS