estrutura D3D10DDIARG_CREATEDEVICE (d3d10umddi.h)
A estrutura D3D10DDIARG_CREATEDEVICE descreve o dispositivo de exibição a ser criado.
Sintaxe
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;
Membros
hRTDevice
[in] Um identificador para o dispositivo de exibição (contexto gráfico) que especifica o identificador que o driver deve usar quando ele chama de volta para o runtime do Direct3D (ou seja, quando o driver chama funções especificadas pelo membro pKTCallbacks ).
Interface
[in] A versão da interface Direct3D. Os 16 bits altos armazenam o número de lançamento principal (como 10, 11 e assim por diante); os 16 bits baixos armazenam o número de versão secundária (como 0, 1, 2 e assim por diante). O número de versão secundária será aumentado quando uma alteração na interface for lançada.
Version
[in] Um número que o driver pode usar para identificar quando o runtime do Direct3D foi criado. Os 16 bits altos representam o número de build; os 16 bits baixos representam o número de revisão.
O driver é necessário apenas para monitorar os 16 bits altos. O driver deve garantir que a versão de build de runtime passada seja maior ou igual à versão de build atual do driver. O driver deverá retornar uma falha de sua função CreateDevice(D3D10) se a versão de build passada for incompatível.
pKTCallbacks
[in] Um ponteiro para uma estrutura D3DDDI_DEVICECALLBACKS que contém uma tabela de funções de retorno de chamada de runtime direct3D que o driver pode usar para acessar serviços de kernel.
pDeviceFuncs
[entrada/saída] Um ponteiro para uma estrutura D3D10DDI_DEVICEFUNCS que o driver de exibição do modo de usuário preenche com uma tabela de suas funções. O runtime do Direct3D usa essas funções para se comunicar com o driver de exibição do modo de usuário.
O driver deve preencher suas funções direct3D versão 10.0 na estrutura de D3D10DDI_DEVICEFUNCS fornecida quando o valor no membro Interface for D3D10_0_DDI_INTERFACE_VERSION.
p10_1DeviceFuncs
[entrada/saída] Um ponteiro para uma estrutura D3D10_1DDI_DEVICEFUNCS que o driver de exibição do modo de usuário preenche com uma tabela de suas funções. A versão 10.1 do runtime do Direct3D usa essas funções para se comunicar com o driver de exibição do modo de usuário.
O driver deve preencher suas funções direct3D versão 10.1 na estrutura de D3D10_1DDI_DEVICEFUNCS fornecida quando o valor no membro Interface for D3D10_1_DDI_INTERFACE_VERSION.
Com suporte a partir do Windows Vista com SP1 e Windows Server 2008.
p11DeviceFuncs
[entrada/saída] Um ponteiro para uma estrutura D3D11DDI_DEVICEFUNCS que o driver de exibição do modo de usuário preenche com uma tabela de suas funções. A versão 11 do runtime do Direct3D usa essas funções para se comunicar com o driver de exibição do modo de usuário.
O driver deve preencher suas funções direct3D versão 11.0 na estrutura de D3D11DDI_DEVICEFUNCS fornecida quando o valor no membro Interface for D3D11_0_DDI_INTERFACE_VERSION.
Com suporte a partir do Windows 7.
p11_1DeviceFuncs
[entrada/saída] Um ponteiro para uma estrutura D3D11_1DDI_DEVICEFUNCS que o driver de exibição do modo de usuário preenche com uma tabela de suas funções. A partir da versão 11.1, o runtime do Direct3D usa essas funções para se comunicar com o driver de exibição do modo de usuário.
O driver deve preencher suas funções direct3D versão 11.1 na estrutura de D3D11_1DDI_DEVICEFUNCS fornecida quando o valor no membro Interface for D3D11_1_DDI_INTERFACE_VERSION.
Com suporte começando com Windows 8.
pWDDM1_3DeviceFuncs
[entrada/saída] Um ponteiro para uma estrutura D3DWDDM1_3DDI_DEVICEFUNCS que o driver de exibição do modo de usuário preenche com uma tabela de suas funções. A versão 11.2 do runtime do Direct3D usa essas funções para se comunicar com o driver de exibição do modo de usuário.
O driver deve preencher suas funções direct3D versão 11.2 na estrutura de D3DWDDM1_3DDI_DEVICEFUNCS fornecida quando o valor no membro Interface for D3DWDDM1_3_DDI_INTERFACE_VERSION.
Com suporte a partir de Windows 8.1.
pWDDM2_0DeviceFuncs
[entrada/saída] Um ponteiro para uma estrutura D3DWDDM2_0DDI_DEVICEFUNCS que o driver de exibição do modo de usuário preenche com uma tabela de suas funções. O driver deve preencher suas funções Direct3D na estrutura fornecida quando o valor no membro Interface for D3DWDDM2_0_DDI_INTERFACE_VERSION.
pWDDM2_1DeviceFuncs
[entrada/saída] Um ponteiro para uma estrutura D3DWDDM2_1DDI_DEVICEFUNCS que o driver de exibição do modo de usuário preenche com uma tabela de suas funções. O driver deve preencher suas funções Direct3D na estrutura fornecida quando o valor no membro Interface for D3DWDDM2_0_DDI_INTERFACE_VERSION.
pWDDM2_2DeviceFuncs
[entrada/saída] Um ponteiro para uma estrutura D3DWDDM2_2DDI_DEVICEFUNCS que o driver de exibição do modo de usuário preenche com uma tabela de suas funções. O driver deve preencher suas funções Direct3D na estrutura fornecida quando o valor no membro Interface for D3DWDDM2_0_DDI_INTERFACE_VERSION.
pWDDM2_6DeviceFuncs
[entrada/saída] Um ponteiro para uma estrutura D3DWDDM2_6DDI_DEVICEFUNCS que o driver de exibição do modo de usuário preenche com uma tabela de suas funções. O driver deve preencher suas funções Direct3D na estrutura fornecida quando o valor no membro Interface for D3DWDDM2_0_DDI_INTERFACE_VERSION.
Com suporte a partir do Windows 10, versão 1901.
hDrvDevice
[entrada/saída] Um identificador para o dispositivo de exibição (contexto gráfico) que o runtime do Direct3D usa em chamadas de driver subsequentes para identificar o dispositivo de exibição.
DXGIBaseDDI
[entrada/saída] Uma estrutura DXGI_DDI_BASE_ARGS que fornece acesso ao DXGI. A DDI DXGI lida com tarefas de baixo nível, como apresentar quadros renderizados em uma saída, controlar gama e gerenciar uma transição em tela inteira.
hRTCoreLayer
[in] Um identificador que o driver deve usar quando ele chama de volta para o runtime do Direct3D para acessar a funcionalidade principal do Direct3D 10 (ou seja, quando o driver chama funções especificadas pelo membro pUMCallbacks ).
pUMCallbacks
[in] Um ponteiro para uma estrutura D3D10DDI_CORELAYER_DEVICECALLBACKS que contém uma tabela de funções de retorno de chamada de runtime do Direct3D 10 que o driver pode usar para acessar a funcionalidade de runtime principal do modo de usuário.
p11UMCallbacks
[in] Um ponteiro para uma estrutura de D3D11DDI_CORELAYER_DEVICECALLBACKS que contém uma tabela de funções de retorno de chamada de runtime direct3D 10 e Direct3D 11, que o driver pode usar para acessar a funcionalidade de runtime principal do modo de usuário.
Com suporte a partir do Windows 7.
pWDDM2_0UMCallbacks
[in] Ponteiro para uma estrutura de D3DWDDM2_0DDI_CORELAYER_DEVICECALLBACKS que contém uma tabela de funções de retorno de runtime do Direct3D 10, Direct3D 11 e WDDM 2.0, que o driver pode usar para acessar a funcionalidade de runtime principal do modo de usuário.
pWDDM2_2UMCallbacks
[in] Ponteiro para uma estrutura D3DWDDM2_2DDI_CORELAYER_DEVICECALLBACKS que contém uma tabela de funções de retorno de chamada de runtime direct3D 10, Direct3D 11, WDDM 2.0 e WDDM 2.2, que o driver pode usar para acessar a funcionalidade de runtime principal do modo de usuário.
pWDDM2_6UMCallbacks
[in] Ponteiro para uma estrutura de D3DWDDM2_6DDI_CORELAYER_DEVICECALLBACKS que contém uma tabela das funções de retorno de chamada direct3D 10, Direct3D 11, WDDM 2.0, WDDM 2.2 e WDDM 2.6, que o driver pode usar para acessar a funcionalidade de runtime principal do modo de usuário.
Flags
[in] Um OR bit a bit válido de valores de sinalizador que identificam como criar o dispositivo de exibição. O runtime do Direct3D dá suporte aos seguintes sinalizadores:
Sinalizador | Significado |
---|---|
D3D10DDI_CREATEDEVICE_FLAG_DISABLE_EXTRA_THREAD_CREATION (0x1) | Se esse sinalizador estiver definido, o driver de exibição do modo de usuário não deverá executar vários threads simultaneamente quando processar chamadas para suas funções do runtime do Direct3D. Normalmente, um driver pode iniciar e executar vários threads para processar operações mais rapidamente, a menos que o sinalizador D3D10DDI_CREATEDEVICE_FLAG_DISABLE_EXTRA_THREAD_CREATION esteja definido. |
D3D11DDI_CREATEDEVICE_FLAG_SINGLETHREADED (0x10) | Informa ao driver de exibição do modo de usuário que o aplicativo é threaded único. O runtime do Direct3D 11 permite que vários threads de aplicativo insiram o driver se o driver permitir esse modo de operação. No entanto, nem todos os aplicativos podem executar vários threads. Se esse sinalizador estiver definido, o driver não espera que vários threads o insiram e sejam executados simultaneamente. O driver poderá evitar a sincronização se esse sinalizador estiver definido. Com suporte a partir do Windows 7. |
O sinalizador definido na máscara de 0xE do membro Flags | Representa o nível de pipeline 3D que o driver deve dar suporte para o dispositivo de exibição. Consulte Observações. Com suporte a partir do Windows 7. |
ppfnRetrieveSubObject
[entrada/saída] Um ponteiro para uma função RetrieveSubObject(D3D11_1) que recupera subpartes de um objeto de dispositivo de driver Direct3D.
Com suporte começando com Windows 8.
Comentários
O driver examina valores nos membros interface e versão para determinar se deve preencher a estrutura de D3D10DDI_DEVICEFUNCS, D3D10_1DDI_DEVICEFUNCS, D3D11DDI_DEVICEFUNCS, D3D11_1DDI_DEVICEFUNCS ou D3DWDDM1_3DDI_DEVICEFUNCS que o membro pDeviceFuncs, p10_1DeviceFuncs, p11DeviceFuncs, p11_1DeviceFuncs ou pWDDM1_3DeviceFuncs aponta para com o membro do driver Funções. As seguintes constantes de D3d10umddi.h são exemplos das constantes que o driver pode encontrar em Interface e Versão:
#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))
Outras combinações possíveis de constantes para versões diferentes do sistema operacional, Direct3D e WDDM (Windows Display Driver Model) são listadas no cabeçalho D3d10umddi.h .
Para o sinalizador definido na máscara de 0xE do membro Flags , o driver usa a constante e as macros a seguir para extrair um dos valores da enumeração D3D11DDI_3DPIPELINELEVEL que representam o nível de pipeline 3D para dar suporte. O valor no membro Flags é formatado como o membro Caps da estrutura 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 com suporte | Windows Vista |
Cabeçalho | d3d10umddi.h (inclua D3d10umddi.h) |
Confira também
D3D10DDI_CORELAYER_DEVICECALLBACKS
D3D11DDI_3DPIPELINESUPPORT_CAPS