Método ID3D11Device4::RegisterDeviceRemovedEvent (d3d11_4.h)
Registra o evento "dispositivo removido" e indica quando um dispositivo Direct3D foi removido por qualquer motivo, usando um mecanismo de notificação assíncrona.
Sintaxe
HRESULT RegisterDeviceRemovedEvent(
[in] HANDLE hEvent,
[out] DWORD *pdwCookie
);
Parâmetros
[in] hEvent
Tipo: HANDLE
O identificador para o evento "dispositivo removido".
[out] pdwCookie
Tipo: DWORD*
Um ponteiro para informações sobre o evento "dispositivo removido", que pode ser usado em UnregisterDeviceRemoved para cancelar o registro do evento.
Retornar valor
Tipo: HRESULT
Confira Códigos de retorno do Direct3D 11.
Comentários
Indica quando um dispositivo Direct3D foi removido por qualquer motivo, usando um mecanismo de notificação assíncrona, em vez de um HRESULT do Present. O motivo para a remoção do dispositivo pode ser recuperado usando ID3D11Device::GetDeviceRemovedReason após ser notificado sobre a ocorrência.
Os aplicativos registram e cancelam o registro de um identificador de evento Win32 com um dispositivo específico. Esse identificador de evento será sinalizado quando o dispositivo for removido. Uma sondagem no método ID3D11Device::GetDeviceRemovedReason do dispositivo indica que o dispositivo foi removido.
ISignalableNotifier ou SetThreadpoolWait podem ser usados por aplicativos UWP.
Quando o dispositivo gráfico for perdido, o aplicativo ou título receberá o evento gráfico, para que o aplicativo ou título saiba que seu dispositivo gráfico não é mais válido e é seguro para o aplicativo ou título recriar seus dispositivos DirectX. Em resposta a esse evento, o aplicativo ou título precisa recriar seu dispositivo de renderização e passá-lo para uma chamada SetRenderingDevice nos objetos do dispositivo gráfico de composição.
Depois de definir esse novo dispositivo de renderização, o aplicativo ou título precisa redesenhar o conteúdo de todas as superfícies pré-existentes depois que o evento OnRenderingDeviceReplaced do dispositivo gráfico de composição for acionado.
Esse método dá suporte à Composição para perda de dispositivo.
O evento não é sinalizado quando é mais ideal recriar. Portanto, em vez disso, recomendamos iterar por meio dos ordinais do adaptador e criar o primeiro ordinal que terá êxito.
O aplicativo pode registrar um evento com o dispositivo. O aplicativo será sinalizado quando o dispositivo for removido.
Se o dispositivo já estiver removido, as chamadas para RegisterDeviceRemovedEvent sinalizarão o evento imediatamente. Nenhum código de erro removido pelo dispositivo será retornado de RegisterDeviceRemovedEvent.
Cada evento "dispositivo removido" nunca é sinalizado ou é sinalizado apenas uma vez. Esses eventos não são sinalizados durante a destruição do dispositivo. Esses eventos não são registrados durante a destruição.
A semântica de RegisterDeviceRemovedEvent é semelhante a IDXGIFactory2::RegisterOcclusionStatusEvent.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | d3d11_4.h |
Biblioteca | D3d11.lib |