Condividi tramite


Funzione WerReportHang (errorrep.h)

Avvia la segnalazione "nessuna risposta" nella finestra specificata.

Sintassi

HRESULT WerReportHang(
  [in]           HWND   hwndHungApp,
  [in, optional] PCWSTR pwzHungApplicationName
);

Parametri

[in] hwndHungApp

Gestire la finestra che non risponde.

[in, optional] pwzHungApplicationName

Nome dell'applicazione che non risponde da visualizzare nell'interfaccia utente Di creazione report di blocco. Il nome è limitato a 128 caratteri, incluso il terminatore NULL . Se NULL, WER tenta di ottenere il nome dalle risorse dell'immagine di destinazione. Se non riesce a ottenere il nome dall'immagine, verrà usato il nome dell'immagine.

Valore restituito

Restituisce S_OK se la funzione è stata in grado di avviare la segnalazione o un codice di errore in caso di errore. Si noti che S_OK non significa necessariamente che la creazione di report "nessuna risposta" sia stata completata correttamente, solo che è stata avviata.

Commenti

Attenzione Le applicazioni non devono usare questa API per segnalare alcuna risposta da finestre di primo livello; Il rilevamento e la creazione di report senza risposta sono disponibili per tutte le finestre di primo livello in Windows XP e versioni successive per impostazione predefinita. È consigliabile usare questa funzione solo per segnalare nessuna risposta dalle finestre figlio. In genere, si userebbe questa funzione solo quando la finestra di primo livello e le finestre figlio sono di proprietà di processi diversi e una risposta non viene rilevata in una finestra figlio.
 
Questa funzione avvierà un report senza risposta che termina quindi il processo che ha creato la finestra. Il chiamante è responsabile della determinazione quando una finestra figlio non risponde e deve richiedere all'utente il consenso prima di segnalare la risposta non. Un modo tipico per rilevare una finestra che non risponde è verificare che risponda ai messaggi della finestra in modo tempestivo. È possibile usare la funzione SendMessageTimeout per rilevare questa condizione.

Questa funzione è asincrona; non attende il completamento della segnalazione di nessuna risposta. Non è possibile annullare la segnalazione senza risposta dopo l'avvio.

Se si usa questa funzione, è importante rispettare i requisiti seguenti:

  • Assicurarsi che le finestre figlio vengano create da un processo separato. Dopo il completamento della creazione di report senza risposta, termina il processo che ha creato la finestra.
  • Fornire indizi visivi nella finestra figlio che non risponde; la creazione di report senza risposta non dimerà la finestra figlio, verrà visualizzata solo la finestra di dialogo di creazione di report.
  • Verificare che l'utente voglia terminare la finestra figlio che non risponde prima di chiamare questa funzione.
  • Per visualizzare l'interfaccia utente di report senza risposta davanti alla finestra che non risponde, l'applicazione deve chiamare la funzione AllowSetForegroundWindow (passando ASFW_ANY per l'identificatore di processo) dal processo di primo livello.

Requisiti

   
Client minimo supportato Windows Vista con SP1 [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione errorrep.h
Libreria Faultrep.lib
DLL Faultrep.dll