Bagikan melalui


Memanggil SetupWriteTextLogError

SetupWriteTextLogError menulis informasi tentang kesalahan khusus SetupAPI atau kesalahan Win32 ke log teks SetupAPI. SetupWriteTextLogError menulis dua entri berturut-turut ke log teks: entri pertama berisi informasi yang sama dengan yang ditulis oleh SetupWriteTextLog dan entri kedua mencatat kode kesalahan yang sesuai dan deskripsi kesalahan yang mudah digunakan.

Untuk memanggil SetupWriteTextLogError, aplikasi menyediakan informasi yang sama yang akan disediakan untuk memanggil SetupWriteTextLog dan, selain itu, memberikan nilai kesalahan khusus SetupAPI atau kesalahan Win32.

SetupWriteTextLogError menulis entri log pertama dalam format berikut:

kategori **** entry_prefix time_stamp indentasi formatted-message

SetupWriteTextLogError menulis entri log kedua dalam format berikut:

kategori ** entry_prefix time_stamp indentasi **Error:error-number error-description

Di mana:

  • Bidang entry_prefix, stempel waktu, kategori, indentasi, dan pesan berformat sama dengan yang dijelaskan dalam Format Isi Bagian Log Teks.

  • Bidang nomor kesalahan berisi nomor kesalahan.

  • Bidang deskripsi kesalahan berisi deskripsi kesalahan yang mudah digunakan.

Contoh berikut menunjukkan bagaimana aplikasi biasanya memanggil SetupWriteTextLogError untuk mencatat informasi tentang kesalahan dalam log teks. Kesalahan yang digunakan dalam contoh adalah kesalahan mulai sistem. Aplikasi ini memanggil SetupWriteTextLogError, menyediakan nilai parameter berikut:

  • LogToken diatur ke nilai token log yang diperoleh dengan memanggil SetupGetThreadLogToken atau merupakan salah satu nilai token log yang ditentukan sistem yang dijelaskan dalam Token Log.

  • Kategori diatur ke TXTLOG_VENDOR, yang menunjukkan bahwa entri log dibuat oleh aplikasi yang disediakan vendor. Kategori peristiwa dijelaskan dalam Mengaktifkan Kategori Peristiwa untuk Log Teks.

  • LogFlags diatur ke TXTLOG_ERROR. Contoh ini tidak menyertakan stempel waktu atau mengubah kedalaman indentasi. Kedalaman indentasi saat ini sebelumnya diatur ke lima spasi teks monospace. Untuk informasi tentang cara mengubah kedalaman indentasi, lihat Menulis Entri Log Yang Diindentasi. Tingkat peristiwa dijelaskan dalam Mengatur Tingkat Peristiwa untuk Log Teks.

  • Kesalahan diatur ke nilai kode kesalahan Win32, ERROR_SERVICE_ALREADY_RUNNING. Nilai desimal kode kesalahan ini adalah 1056.

  • MessageStr diatur ke TEXT("Start Service: Failed to start service 'SomeService'").

  • Daftar parameter yang dipisahkan koma tidak disediakan.

Parameter LogToken, Category, dan LogFlags memengaruhi pengoperasian SetupWriteTextLogError dengan cara yang sama seperti parameter ini memengaruhi pengoperasian SetupWriteTextLog.

Kode berikut memanggil SetupWriteTextLogError untuk menulis entri log untuk contoh ini:

//The LogToken value was previously returned by call to
//SetupGetThreadLogToken or one of the system-defined log token values
DWORD Category = TXTLOG_VENDOR; 
DWORD Flags = TXTLOG_ERROR ;
DWORD ErrorCode = 1056; // The corresponding Win32 error code

SetupWriteTextLog(LogToken, Category, Flags, ErrorCode, TEXT("Start Service: Failed to start service 'SomeService'"),);

Jika kategori peristiwa TXTLOG_VENDOR diaktifkan dan tingkat peristiwa TXTLOG_ERROR diatur untuk log teks, kode ini akan membuat entri dalam log teks yang akan diformat sebagai berikut:

!!!     :  Start Service: Failed to start service 'SomeService' 
!!!   :  Error 1056: An instance of the service is already running.

Ketahuilah bahwa SetupWriteTextLogError menyediakan string "Instans layanan sudah berjalan." untuk menjelaskan kesalahan Win32 yang nilainya adalah 1056.