Bagikan melalui


Fungsi WerReportHang (errorrep.h)

Memulai pelaporan "tanpa respons" pada jendela yang ditentukan.

Sintaks

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

Parameter

[in] hwndHungApp

Tangani ke jendela yang tidak merespons.

[in, optional] pwzHungApplicationName

Nama aplikasi yang tidak merespons yang akan ditampilkan di UI Pelaporan Hang. Nama dibatasi hingga 128 karakter termasuk terminator NULL . Jika NULL, WER mencoba mendapatkan nama dari sumber daya gambar target. Jika tidak bisa mendapatkan nama dari gambar, nama gambar akan digunakan.

Nilai kembali

Mengembalikan S_OK jika fungsi dapat memulai pelaporan atau kode kesalahan pada kegagalan. Perhatikan bahwa S_OK tidak selalu berarti bahwa pelaporan "tidak ada respons" telah berhasil diselesaikan, hanya saja itu dimulai.

Keterangan

Hati Aplikasi tidak boleh menggunakan API ini untuk melaporkan tidak ada respons dari jendela tingkat atas; deteksi dan pelaporan tanpa respons tersedia untuk semua jendela tingkat atas di Windows XP dan yang lebih baru secara default. Anda seharusnya hanya menggunakan fungsi ini untuk melaporkan tidak ada respons dari jendela anak. Biasanya, Anda akan menggunakan fungsi ini hanya ketika jendela tingkat atas dan jendela anaknya dimiliki oleh proses yang berbeda dan non-respons terdeteksi di jendela anak.
 
Fungsi ini akan memulai pelaporan tanpa respons yang kemudian akan mengakhiri proses yang membuat jendela. Pemanggil bertanggung jawab untuk menentukan kapan jendela anak tidak merespons dan harus meminta persetujuan pengguna sebelum melaporkan non-respons. Cara umum untuk mendeteksi jendela yang tidak merespons adalah dengan memeriksa apakah jendela membalas pesan jendela secara tepat waktu. Anda dapat menggunakan fungsi SendMessageTimeout untuk mendeteksi kondisi ini.

Fungsi ini asinkron; tidak menunggu pelaporan tanpa respons selesai. Tidak ada cara untuk membatalkan pelaporan tanpa respons setelah dimulai.

Jika Anda menggunakan fungsi ini, penting bagi Anda untuk mematuhi persyaratan berikut:

  • Pastikan jendela anak dibuat oleh proses terpisah. Setelah pelaporan tidak ada respons selesai, itu akan mengakhiri proses yang membuat jendela.
  • Berikan petunjuk visual di jendela anak yang tidak merespons; pelaporan tanpa respons tidak akan meredupkan jendela anak, itu hanya akan menampilkan kotak dialog pelaporan.
  • Konfirmasikan bahwa pengguna ingin mengakhiri jendela anak yang tidak merespons sebelum memanggil fungsi ini.
  • Agar antarmuka pengguna pelaporan tanpa respons muncul di depan jendela yang tidak merespons, aplikasi harus memanggil fungsi AllowSetForegroundWindow (meneruskan ASFW_ANY untuk pengidentifikasi proses) dari proses jendela tingkat atas.

Persyaratan

   
Klien minimum yang didukung Windows Vista dengan SP1 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header errorrep.h
Pustaka Faultrep.lib
DLL Faultrep.dll