Compartilhar via


estrutura D3DDDI_ESCAPEFLAGS (d3dukmdt.h)

A estrutura D3DDDI_ESCAPEFLAGS identifica como o DRIVER de exibição do modo de usuário (UMD) (ou driver cliente) compartilha informações com o KMD (driver de miniporto de exibição) no modo kernel.

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 KMD para a chamadaDxgkDdiEscape. 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 de DxgkDdiEscape do driver deverá falhar.

A partir do Windows 8.1, se esse membro estiver definido, deviceStatusQuery e ChangeFrameLatency devem ser definidos como zero.

DeviceStatusQuery

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

Se esse membro estiver definido, hardwareAccess e ChangeFrameLatency devem ser definidos como zero.

Com suporte a partir do Windows 8.1.

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

ChangeFrameLatency

Se definido, quando a função pfnEscapeCb for chamada, o D3DDDICB_ESCAPE.privateDriverDataSize membro é sizeof(D3DDDI_FRAMELATENCYESCAPE) e as condições em Comentários também são atendidas, o runtime do Direct3D interpreta o D3DDDICB_ESCAPE.pPrivateDriverData membro 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 KMD.

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

Com suporte a partir do Windows 8.1.

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

NoAdapterSynchronization

Reserved

Esse membro é reservado e deve ser definido como zero.

VirtualMachineData

Indica que DxgkDdiEscape é chamado de uma máquina virtual. Esse sinalizador não pode ser definido no modo de usuário. Suporte a partir do WDDM 2.2.

DriverKnownEscape

Os dados privados do driver apontam para uma estrutura bem conhecida.

DriverCommonEscape

Os dados privados apontam para uma estrutura definida por runtime D3D.

Reserved2

Esse membro é reservado e deve ser definido como zero.

Value

Um membro do sindicato contido em D3DDDI_ESCAPEFLAGS que pode conter um valor de 32 bits que identifica como compartilhar informações.

Observações

Se ChangeFrameLatency estiver definida, uma chamada pfnEscapeCb será bem-sucedida somente se:

  • O KMD é 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, chamada pfnEscapeCb retornará um código de erro E_INVALIDARG.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows Vista (WDDM 1.0)
cabeçalho d3dukmdt.h (inclua D3dumddi.h, D3dkmddi.h)

Consulte também

D3DDDICB_ESCAPE

D3DDDI_EXECUTIONSTATEESCAPE

D3DDDI_FRAMELATENCYESCAPE

DXGKARG_ESCAPE

DxgkDdiEscape

pfnEscapeCb