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.
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) |