Bagikan melalui


Peringatan C6381

Shutdown API 'function' memerlukan dwReason atau lpMessage yang valid

Keterangan

Peringatan ini dikeluarkan jika InitiateSystemShutdownEx dipanggil:

  • Tanpa melewati alasan matikan yang valid (dwReason). Jika dwReason parameter adalah nol, defaultnya adalah pematian yang tidak ditentukan. Secara default, ini juga merupakan pematian yang tidak dienkripsi. Anda harus menggunakan salah satu Kode Alasan Matikan Sistem untuk parameter ini.

  • Tanpa meneruskan pesan matikan (lpMessage).

Kami menyarankan agar Anda menggunakan parameter yang sesuai saat memanggil API ini untuk membantu administrator sistem menentukan penyebab pematian.

Nama analisis kode: SHUTDOWN_API

Contoh

Kode berikut menghasilkan peringatan ini karena dwReason nol dan lpMessage null:

void f()
{
  //...
  BOOL bRet;
  bRet = InitiateSystemShutdownEx( NULL,
                                   NULL, // message
                                   0,
                                   FALSE,
                                   TRUE,
                                   0);  // shutdown reason
  // ...
}

Untuk memperbaiki peringatan ini, tentukan dwReason dan lpMessage seperti yang ditunjukkan dalam kode berikut:

#include <windows.h>
void f()
{
  //...
  BOOL bRet;
  bRet = InitiateSystemShutdownEx( NULL,
                               "Hardware Failure",  // message
                               0,
                               FALSE,
                               TRUE,
                               SHTDN_REASON_MAJOR_HARDWARE ); // reason
  // ...
}