Bagikan melalui


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.
Jika panggilan sebelumnya ke rutinitas IoSetThreadHardErrorMode menonaktifkan kesalahan keras untuk utas yang ditentukan, IoRaiseInformationalHardError mengembalikan FALSE.

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)

Lihat juga

IoSetHardErrorOrVerifyDevice

IoSetThreadHardErrorMode

PsGetCurrentThread