Fungsi RoOriginateLanguageException (roerrorapi.h)

Melaporkan kesalahan, string informatif, dan objek kesalahan ke debugger terlampir.

Sintaks

BOOL RoOriginateLanguageException(
  [in]           HRESULT  error,
  [in, optional] HSTRING  message,
  [in]           IUnknown *languageException
);

Parameter

[in] error

Kode kesalahan yang terkait dengan kondisi kesalahan. Jika kesalahan adalah kode keberhasilan, seperti S_OK, fungsi tidak berpengaruh dan mengembalikan FALSE. Perilaku ini memungkinkan pemanggilan fungsi ketika tidak ada kesalahan yang terjadi tanpa menyebabkan pesan kesalahan yang tidak diinginkan.

[in, optional] message

String informatif untuk membantu pengembang memperbaiki kondisi kesalahan yang dilaporkan. Panjang maksimum adalah 512 karakter, termasuk karakter NUL berikutnya; string yang lebih panjang dipotong.

Jika string kosong, fungsi berhasil tetapi tidak ada informasi kesalahan yang dilaporkan. Disarankan agar Anda selalu memberikan string informatif.

Jika pesanNULL, fungsi berhasil dan melaporkan string generik di Winerror.h jika tersedia atau string generik yang terkait dengan E_FAIL.

Fungsi ini tidak mendukung karakter NUL yang disematkan, jadi hanya karakter sebelum NUL pertama yang dilaporkan.

String pesan harus dilokalkan.

[in] languageException

Objek kesalahan yang agile apartemen, in-proc, dan marshal-by-value di seluruh proses. Objek ini harus mengimplementasikan ILanguageExceptionStackBackTrace dan ILanguageExceptionTransform jika perlu.

Nilai kembali

Menampilkan kode Deskripsi
TRUE
Pesan kesalahan berhasil dilaporkan.
FALSE
pesannull atau menunjuk ke string kosong, atau kesalahan adalah kode keberhasilan.

Keterangan

Fungsi RoOriginateLanguageException berperilaku seperti RoOriginateError tetapi mengambil parameter lain yang menyimpan informasi tambahan tentang kesalahan tersebut. Proyeksi bahasa menggunakan fungsi ini untuk menyimpan informasi pengecualian bersama informasi kesalahan COM. Proyeksi bahasa perlu membuat objek IUnknown yang berisi semua informasi yang diperlukan untuk membuatnya kembali pengecualian di kemudian hari.

Objek kesalahan harus agile apartemen, in-proc, dan marshal-by-value di seluruh proses. Alasan pembatasan ini adalah bahwa utas tempat objek kesalahan berasal mungkin tidak ada lagi, misalnya karena panggilan CoUninitialize , pada saat informasi kesalahan diambil.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 8.1 [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2012 R2 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header roerrorapi.h
Pustaka RuntimeObject.lib
DLL ComBase.dll

Lihat juga

RoOriginateError