Compartilhar via


estrutura D3DDDI_ESCAPEFLAGS (d3dukmdt.h)

A estrutura D3DDDI_ESCAPEFLAGS identifica como o driver de exibição do modo de usuário compartilha informações com o driver de miniporto de exibição.

Sintaxe

typedef struct _D3DDDI_ESCAPEFLAGS {
  union {
    struct {
      UINT HardwareAccess : 1;
      UINT DeviceStatusQuery : 1;
      UINT ChangeFrameLatency : 1;
      UINT NoAdapterSynchronization : 1;
#if ...
      UINT Reserved : 1;
      UINT VirtualMachineData : 1;
      UINT DriverKnownEscape : 1;
      UINT DriverCommonEscape : 1;
#if ...
      UINT Reserved2 : 24;
#else
      UINT Reserved2 : 26;
#endif
#elif
      UINT Reserved : 28;
#elif
      UINT Reserved : 29;
#else
      UINT Reserved : 31;
#endif
    };
    UINT Value;
  };
} D3DDDI_ESCAPEFLAGS;

Membros

HardwareAccess

Um valor UINT que especifica se o sistema operacional executa o segundo nível de sincronização no driver de miniporta de exibição para a chamada DxgkDdiEscape . Se o driver exigir o segundo nível de sincronização e o sinalizador HardwareAccess não estiver definido, a chamada para a função DxgkDdiEscape do driver deverá falhar.

Começando no Windows 8.1, se esse membro estiver definido, DeviceStatusQuery e ChangeFrameLatency deverão ser definidos como zero.

Definir esse membro é equivalente a definir o primeiro bit do membro Value de 32 bits (0x00000001).

DeviceStatusQuery

Se definido, quando a função pfnEscapeCb é chamada e o D3DDDICB_ESCAPE. O membro PrivateDriverDataSize é sizeof(D3DDDI_EXECUTIONSTATEESCAPE), o runtime do Direct3D interpreta o D3DDDICB_ESCAPE.membro pPrivateDriverData como um ponteiro para um buffer que contém uma estrutura D3DDDI_EXECUTIONSTATEESCAPE . Além disso, o runtime processa o pfnEscapeCb como uma consulta status gravando as informações solicitadas no buffer fornecido em vez de enviar uma chamada DxgkDdiEscape para o driver de miniporta de exibição.

Se esse membro estiver definido, HardwareAccess e ChangeFrameLatency deverão ser definidos como zero.

Suporte começando com Windows 8.1.

O sistema operacional ignorará esse membro se ele for anterior a Windows 8.1 ou se o driver de modo de usuário tiver sido inicializado com uma chamada OpenAdapterXxxx em que o membro pOpenData-Interface> indica Direct3D versão 8 ou anterior.

Definir esse membro é equivalente a definir o segundo bit do membro Value de 32 bits (0x00000002).

ChangeFrameLatency

Se definido, quando a função pfnEscapeCb for chamada, o D3DDDICB_ESCAPE. O membro PrivateDriverDataSize é sizeof(D3DDDI_FRAMELATENCYESCAPE) e as condições nos Comentários também são atendidas, o runtime do Direct3D interpreta o D3DDDICB_ESCAPE.membro pPrivateDriverData como um ponteiro para um buffer que contém uma estrutura D3DDDI_FRAMELATENCYESCAPE . Além disso, o runtime processa o pfnEscapeCb como uma solicitação para alterar a latência máxima do subsistema de kernel de elementos gráficos DirectX gravando as informações solicitadas no buffer fornecido em vez de enviar uma chamada DxgkDdiEscape para o driver de miniporto de exibição.

Se esse membro estiver definido, HardwareAccess e DeviceStatusQuery deverão ser definidos como zero.

Suporte começando com Windows 8.1.

O sistema operacional ignorará esse membro se ele for anterior a Windows 8.1 ou se o driver de modo de usuário tiver sido inicializado com uma chamada OpenAdapterXxxx em que o membro pOpenData-Interface> indica Direct3D versão 8 ou anterior.

Definir esse membro é equivalente a definir o terceiro bit do membro Value de 32 bits (0x00000004).

NoAdapterSynchronization

Reserved

Esse membro é reservado e deve ser definido como zero. Definir esse membro como zero é equivalente a definir os 29 bits restantes (0xFFFFFFF8) do membro Value de 32 bits como zeros.

Esse membro é reservado e deve ser definido como zero. Definir esse membro como zero é equivalente a definir os 31 bits restantes (0xFFFFFFFE) do membro Value de 32 bits como zeros.

VirtualMachineData

Indica que DxgkDdiEscape é chamado de uma máquina virtual.

DriverKnownEscape

Os dados privados do driver apontam para uma estrutura conhecida.

DriverCommonEscape

A estrutura definida pelo runtime de pontos de dados privados.

Reserved2

Esse membro é reservado e deve ser definido como zero.

Value

Um membro na união contido em D3DDDI_ESCAPEFLAGS que pode conter um valor de 32 bits que identifica como compartilhar informações.

Comentários

Se ChangeFrameLatency for definido, uma chamada pfnEscapeCb terá êxito somente se:

  • O driver de miniporta de exibição é responsável por uma LDA (configuração de adaptador vinculado) fornecida por um único fornecedor.
  • O aplicativo assumiu a propriedade exclusiva em tela inteira da exibição em algum momento de seu tempo de vida.
  • O aplicativo não substituiu o valor de latência de quadro máximo padrão de 3.
Se essas condições não forem atendidas, a chamada pfnEscapeCb retornará um código de erro E_INVALIDARG .

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows Vista e versões posteriores do sistema operacional Windows.
Cabeçalho d3dukmdt.h (inclua D3dumddi.h, D3dkmddi.h)

Confira também

D3DDDICB_ESCAPE

D3DDDI_EXECUTIONSTATEESCAPE

D3DDDI_FRAMELATENCYESCAPE

DXGKARG_ESCAPE

DxgkDdiEscape

pfnEscapeCb