Compartilhar via


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

CreateDevice(D3D10)

D3D10DDI_CORELAYER_DEVICECALLBACKS

D3D10DDI_DEVICEFUNCS

D3D10_1DDI_DEVICEFUNCS

D3D11DDI_3DPIPELINELEVEL

D3D11DDI_3DPIPELINESUPPORT_CAPS

D3D11DDI_CORELAYER_DEVICECALLBACKS

D3D11DDI_DEVICEFUNCS

D3D11_1DDI_DEVICEFUNCS

D3DDDI_ALLOCATIONLIST

D3DDDI_DEVICECALLBACKS

D3DDDI_PATCHLOCATIONLIST

D3DWDDM1_3DDI_DEVICEFUNCS

DXGI_DDI_BASE_ARGS

DxgkDdiCreateDevice

RetrieveSubObject(D3D11_1)