《Windows核心编程》读书笔记(二)

第一章 程序员必读
 1.1定义自己的错误代码

        若你编写了一个希望其他人调用的函数,你的函数可能因为这样或那样的原因而运行失败,你必须向函数的调用者说明它已经运行失败。若要指明函数运行失败,只需要设定线程的最后的错误代码,然后让你的函数返回FALSE、INVALID_HANDLE_VALUE、NULL或者返回任何合适的信息。可以用Viod SetLastError(DWORD dwErrCode)设定线程的最后错误代码;

1.2 ErrorShow示例小程序
    FormatMessage函数的用法
    //获取错误代码
    DWORD dwError = GetDlgItemInt(hwnd , IDC_ERRORCODE , NULL , FALSE);
   
    HLOCAL hlocal = NULL ; //创建存放错误文本的缓冲区并初始化;
    //获取错误代码的文字描述
    BOOL fOK = ForMatMessage(
           FORMAT_MASSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER,
           NULL , dwError , MAKELANGID(LANG_ENGLISH , SUBLANG_ENGLISH_US),
           (LPTSTR) &hlocal , 0 , NULL);
    ...........
    if (hloca != NULL)
    {
       SetDlgItemText(hwnd , IDC_ERRORTEXT , (PCTSTR) LocalLock(hlocal) );
       LocalFree(hlocal);
    }
    else
    {
       SetDlgItemText(hwnd , IDC_ERRORTEXT , TEXT("Error number not found") );
    }
        当调用FormatMessage函数时,传递了FORMAT_MESSAGE_FROM_SYSTEM标志。该标志告诉FormatMessage函数,我们想要系统定义的错误代码的字符串。还传递FORMAT_MESSAGE_ALLOCATE_BUFFER标志,告诉该函数为错误代码的文本描述分配足够大的内存块。该内存块的句柄将hlocal变量中返回。第三个参数指明想要查找的错误代码的号码,第四个参数指明想要文本描述使用什么语言。    

                                      2004年11月9日   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值