zoukankan      html  css  js  c++  java
  • 《Windows via C/C++》学习笔记(一):Error handling

    1. 介绍了Windows函数的几种返回值:

    类型

    说明

    VOID

    函数不能失败

    BOOL

    函数失败时返回0;成功时返回非0。可测试是否为FALSE

    HANDLE

    函数失败时通常返回NULL(即0),亦有可能为INVALID_HANDLE_VALUE(即-1);成功则为相应的句柄

    PVOID

    函数失败时通常返回NULL(即0);成功则为数据块所在的内存地址

    LONG/DWORD

    函数失败时通常返回0或-1,具体参见Platform SDK文档

     

    2. 相关函数

    DWORD GetLastError() 

    · 该函数通过线程局部存储Thread-local storage)机制获得线程当前的错误代号。

    · 必须在Windows函数失败后立即调用该函数,否则其错误代号有可能被另一个函数调用结果所覆盖,Windows函数成功时调用GetLastError将返回ERROR_SUCCESS。

    · 即使某个Windows函数运行成功,亦可通过GetLastError获得一些额外的信息。

    · Visual studio可以在监视器上设置“$err,hr”监视GetLastError的返回值。

    DWORD FormatMessage(

    DWORD dwFlags,

    LPCVOID pSource,

    DWORD dwMessageId,

    DWORD dwLanguageId,

    PTSTR pszBuffer,

    DWORD nSize,

    Va_list *Arguments

    );

    · 该函数将错误代号转换为相应的文字表述。

    · 支持多语言(dwLanguage)。

    · 支持DLL导入(pSource)。

    3. 自定义错误号

    错误代号为一32位整形数,其第29位若为0则为微软定义的错误代号;为1则为雍和自定义,具体详见第二十四章。

  • 相关阅读:
    Matlab实现bwlabel函数(区域标记)功能
    Matlab实现medfilt2函数功能
    Matlab实现基于频域对二维信号的低通滤波
    Matlab实现基于频域对一维信号利用傅里叶低通滤波平滑
    Matlab实现直方图规定化
    Matlab实现直方图均衡化
    Matlab实现imresize函数功能
    lc279贪心
    lc347 解法
    numpy中的np.mat(1)
  • 原文地址:https://www.cnblogs.com/alonecat06/p/2686861.html
Copyright © 2011-2022 走看看