zoukankan      html  css  js  c++  java
  • [Windows Api 学习] Error Handling Functions

    BOOL WINAPI FlashWindowEx(
      __in          PFLASHWINFO pfwi
    );

    DWORD WINAPI FormatMessage(
      __in          DWORD dwFlags,
      __in          LPCVOID lpSource,
      __in          DWORD dwMessageId,
      __in          DWORD dwLanguageId,
      __out         LPTSTR lpBuffer,
      __in          DWORD nSize,
      __in          va_list* Arguments
    );

    eg. Retrieving the Last-Error Code

    #include <windows.h>
    #include <strsafe.h>
    
    void ErrorExit(LPTSTR lpszFunction) 
    { 
        // Retrieve the system error message for the last-error code
    
        LPVOID lpMsgBuf;
        LPVOID lpDisplayBuf;
        DWORD dw = GetLastError(); 
    
        FormatMessage(
            FORMAT_MESSAGE_ALLOCATE_BUFFER | 
            FORMAT_MESSAGE_FROM_SYSTEM |
            FORMAT_MESSAGE_IGNORE_INSERTS,
            NULL,
            dw,
            MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
            (LPTSTR) &lpMsgBuf,
            0, NULL );
    
        // Display the error message and exit the process
    
        lpDisplayBuf = (LPVOID)LocalAlloc(LMEM_ZEROINIT, 
            (lstrlen((LPCTSTR)lpMsgBuf)+lstrlen((LPCTSTR)lpszFunction)+40)*sizeof(TCHAR)); 
        StringCchPrintf((LPTSTR)lpDisplayBuf, 
            LocalSize(lpDisplayBuf),
            TEXT("%s failed with error %d: %s"), 
            lpszFunction, dw, lpMsgBuf); 
        MessageBox(NULL, (LPCTSTR)lpDisplayBuf, TEXT("Error"), MB_OK); 
    
        LocalFree(lpMsgBuf);
        LocalFree(lpDisplayBuf);
        ExitProcess(dw); 
    }
    
    void main()
    {
        // Generate an error
    
        if(!GetProcessId(NULL))
            ErrorExit(TEXT("GetProcessId"));
    }
    

      

  • 相关阅读:
    【3-9】数据库基本应用
    Oracle所有分析函数<转>
    Oracle数据库row_number详解<转>
    MVC人员管理系统
    MVC Razor语法
    MVC基础
    邮箱验证
    jQuery入门基础(动画效果)
    js前台与后台数据交互
    ajax入门基础
  • 原文地址:https://www.cnblogs.com/vlan99/p/3685975.html
Copyright © 2011-2022 走看看