Condividi tramite


Metodo IDXGISwapChain::SetFullscreenState (dxgi.h)

Imposta lo stato di visualizzazione su finestra o schermo intero.

Sintassi

HRESULT SetFullscreenState(
  BOOL        Fullscreen,
  IDXGIOutput *pTarget
);

Parametri

Fullscreen

Tipo: BOOL

Valore booleano che specifica se impostare lo stato di visualizzazione su finestra o schermo intero. TRUE per schermo intero e FALSE per windowed.

pTarget

Tipo: [in, facoltativo] IDXGIOutput*

Se si passa TRUE al parametro Fullscreen per impostare lo stato di visualizzazione su schermo intero, è facoltativamente possibile impostare questo parametro su un puntatore a un'interfaccia IDXGIOutput per la destinazione di output che contiene la catena di scambio. Se si imposta questo parametro su NULL, DXGI sceglierà l'output in base al dispositivo della catena di scambio e al posizionamento della finestra di output. Se si passa FALSE a Schermo intero, è necessario impostare questo parametro su NULL.

Valore restituito

Tipo: HRESULT

Questo metodo restituisce uno di questi valori.

  • S_OK se l'azione è riuscita e la catena di scambio è stata inserita nello stato richiesto.
  • DXGI_ERROR_NOT_CURRENTLY_AVAILABLE se l'azione non è riuscita. Quando viene restituito questo errore, l'applicazione può continuare a essere eseguita in modalità finestra e provare a passare alla modalità schermo intero in un secondo momento. Esistono molti motivi per cui una catena di scambio in modalità finestra non può passare alla modalità schermo intero. Di seguito sono riportati alcuni esempi.
    • L'applicazione viene eseguita su Terminal Server.
    • La finestra di output è occlusa.
    • La finestra di output non ha lo stato attivo della tastiera.
    • Un'altra applicazione è già in modalità schermo intero.
  • DXGI_STATUS_MODE_CHANGE_IN_PROGRESS viene restituito se si verifica una transizione in modalità schermo intero/finestra quando viene chiamata questa API.
  • Altri codici di errore se si esaurisce la memoria o si verifica un altro errore imprevisto; questi codici possono essere considerati come errori difficili e non continui.

Commenti

DXGI può modificare lo stato di visualizzazione di una catena di scambio in risposta alle richieste dell'utente finale o del sistema.

È consigliabile creare una catena di scambio finestra e consentire all'utente finale di modificare la catena di scambio a schermo intero tramite SetFullscreenState; ovvero non impostare il membro Windowed di DXGI_SWAP_CHAIN_DESC su FALSE per forzare che la catena di scambio sia a schermo intero. Tuttavia, se si crea la catena di scambio come schermo intero, fornire anche all'utente finale un elenco di modalità di visualizzazione supportate perché una catena di scambio creata con una modalità di visualizzazione non supportata potrebbe causare la visualizzazione nera e impedire all'utente finale di visualizzare nulla. È inoltre consigliabile avere una schermata di conferma del timeout o un altro meccanismo di fallback quando si consente all'utente finale di modificare le modalità di visualizzazione.

Note per le app di Windows Store

Se un'app di Windows Store chiama SetFullscreenState per impostare lo stato di visualizzazione su schermo intero, SetFullscreenState ha esito negativo con DXGI_ERROR_NOT_CURRENTLY_AVAILABLE.

Non è possibile chiamare SetFullscreenState in una catena di scambio creata con IDXGIFactory2::CreateSwapChainForComposition.

Per il modello di presentazione flip, dopo aver eseguito la transizione dello stato di visualizzazione a schermo intero, è necessario chiamare ResizeBuffers per assicurarsi che la chiamata a IDXGISwapChain1::P resent1 abbia esito positivo.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione dxgi.h
Libreria DXGI.lib

Vedi anche

IDXGISwapChain