Aracılığıyla paylaş


C6381

C6381 Uyarı: kapatma API <function> Geçerli dwReason veya lpMessage gerektirir

Bu uyarı InitiateSystemShutdownEx çağrılırsa verilir:

  • Geçerli kapatma nedeni (dwReason) olmadan gönderiliyor.DwReason parametresi sıfır ise tanımsız bir kapatma varsayılandır.Varsayılan olarak, planlanmamış bir kapatma da olur.Bu parametre için sistem kapatma nedeni kodlarından birini kullanmalısınız.

  • Kapatma iletisi (lpMessage) olmadan gönderiliyor.

Size uygun parametreleri bu API çağrıldığında sistem yöneticileri kapatma nedenini belirlemenize yardımcı olması için kullanmanızı öneririz.

Örnek

Aşağıdaki kod, dwReason sıfırdır ve lpMessage null olduğu için bu uyarı oluşturur:

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

Bu uyarı düzeltmek için dwReason ve lpMessage aşağıdaki kodda gösterildiği gibi belirtin:

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