Fungsi IoRaiseInformationalHardError (ntddk.h)
Rutinitas IoRaiseInformationalHardError mengirim kotak dialog kepada pengguna, memperingatkan tentang kesalahan I/O perangkat yang menunjukkan mengapa permintaan I/O pengguna gagal.
Sintaks
BOOLEAN IoRaiseInformationalHardError(
[in] NTSTATUS ErrorStatus,
[in, optional] PUNICODE_STRING String,
[in, optional] PKTHREAD Thread
);
Parameter
[in] ErrorStatus
Kode status kesalahan (IO_ERR_XXX).
[in, optional] String
Penunjuk ke string Unicode, yang menyediakan informasi tambahan tentang kesalahan tersebut. Beberapa kode status NT memerlukan parameter string, seperti nama file atau direktori. Jika nilai ErrorStatus yang ditentukan tidak memerlukan parameter string, atur String ke NULL.
[in, optional] Thread
Penunjuk ke utas yang IRP-nya gagal karena kesalahan yang ditentukan oleh parameter ErrorStatus .
Nilai kembali
IoRaiseInformationalHardError mengembalikan TRUE jika kotak dialog berhasil diantrekan. Rutinitas ini mengembalikan FALSE jika kotak dialog dinonaktifkan untuk Utas, alokasi kumpulan gagal, terlalu banyak kotak dialog yang sudah diantrekan, atau kotak dialog yang setara sudah menunggu respons pengguna (seperti menunggu pengguna menekan RETURN).
Keterangan
IoRaiseInformationalHardError mengambil nilai kesalahan NT yang ditentukan sistem sebagai parameter. Penulis driver dapat menggunakan API log peristiwa untuk mengomunikasikan string peristiwa yang ditentukan driver kepada pengguna.
IoRaiseInformationalHardError bertindak sebagai berikut:
- Jika nilai ErrorStatus yang disediakan penelepon tidak ditentukan dalam file header Ntstatus.h, kotak dialog selalu menampilkan teks "Kesalahan Keras Yang Tidak Diketahui", terlepas dari nilai parameter String .
- Jika nilai ErrorStatus yang disediakan penelepon ditentukan dalam file header Ntstatus.h, kotak dialog memperlihatkan teks dalam string MessageText yang sesuai di Ntstatus.h, terlepas dari nilai parameter String .
- Jika parameter Utas menentukan utas yang berjalan dalam konteks aplikasi, teks yang ditampilkan dalam kotak dialog adalah "ApplicationName.exe - Kesalahan Sistem".
- Jika parameter Thread adalah NULL atau jika menentukan utas yang berjalan dalam konteks sistem arbitrer, teks yang ditampilkan dalam kotak dialog adalah "Proses Sistem - Kesalahan Sistem". Selain itu, jika nilai ErrorStatus didefinisikan dalam Ntstatus.h, string MessageText yang sesuai ditulis ke log peristiwa.
Dimulai dengan Windows Vista, jika rutinitas dipanggil dari utas di sesi 0 (yaitu, dari utas sistem apa pun), tidak ada kotak dialog yang muncul ketika rutinitas berhasil dan mengembalikan TRUE.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia dimulai dengan Windows 2000. |
Target Platform | Universal |
Header | ntddk.h (termasuk Ntddk.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <=APC_LEVEL |
Aturan kepatuhan DDI | HwStorPortProhibitedDDIs(storport), IrqlIoApcLte(wdm) |