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 tiempo 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 aumentará 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 altos. El controlador debe asegurarse de que la versión de compilación en tiempo de ejecución que se pasa es 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 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.0 en la estructura de D3D10DDI_DEVICEFUNCS proporcionada cuando se D3D10_0_DDI_INTERFACE_VERSION el valor del miembro Interface.
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 está 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 Interface está D3D11_0_DDI_INTERFACE_VERSION.
Se admite a partir de Windows 7.
p11_1DeviceFuncs
[in/out] Puntero a una estructura 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 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 se D3DWDDM1_3_DDI_INTERFACE_VERSION el valor del miembro Interface.
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 es D3DWDDM2_0_DDI_INTERFACE_VERSION.
pWDDM2_1DeviceFuncs
[in/out] Puntero a una estructura de 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 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 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 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 entorno de ejecución de Direct3D en llamadas de controlador posteriores 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 llama de nuevo 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 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 del entorno de ejecución del modo 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 Direct3D 10, Direct3D 11 y funciones de devolución de llamada en tiempo de ejecución de WDDM 2.0, que el controlador puede usar para acceder a la funcionalidad principal del entorno de ejecución del modo 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 entorno 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 del entorno de ejecución del modo de usuario.
Flags
[in] Un OR bit a bit válido de valores de marca que identifican cómo crear el dispositivo para mostrar. El entorno de ejecución de Direct3D admite las marcas siguientes:
Marca | 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 entorno de ejecución de Direct3D. Normalmente, un controlador puede iniciar y ejecutar varios subprocesos para procesar las operaciones con mayor rapidez, 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 tiene 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 la sección Comentarios. Se admite a partir de Windows 7. |
ppfnRetrieveSubObject
[in/out] Puntero a una función RetrieveSubObject(D3D11_1) que recupera las subpartes de un objeto de dispositivo de controlador direct3D.
Se admite a partir de Windows 8.
Comentarios
El controlador examina los valores de los miembros Interface y Version para determinar si se deben rellenar el D3D10DDI_DEVICEFUNCS, D3D10_1DDI_DEVICEFUNCS, D3D11DDI_DEVICEFUNCS, D3D11_1DDI_DEVICEFUNCS o D3DWDDM1_3DDI_DEVICEFUNCS estructura a la que apunta el miembro pDeviceFuncs, p10_1DeviceFuncs, p11DeviceFuncs, p11_1DeviceFuncs o pWDDM1_3DeviceFuncs con el controlador. Funciones. Las siguientes constantes de D3d10umddi.h son ejemplos de las constantes que el controlador puede encontrar en Interfaz y versión:
#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 enumeran en el encabezado D3d10umddi.h .
Para la marca que se establece en la máscara de 0xE del miembro Flags , el controlador usa la siguiente constante 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 el formato del miembro Caps de la estructura 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 | Value |
---|---|
Cliente mínimo compatible | Windows Vista |
Encabezado | d3d10umddi.h (incluya D3d10umddi.h) |
Consulte también
D3D10DDI_CORELAYER_DEVICECALLBACKS
D3D11DDI_3DPIPELINESUPPORT_CAPS