时间: 2021-07-31 作者:daque
当挪用一个windows因变量时,它开始要检查传播给它的各个参数的灵验性,而后再想法实行工作.即使传播一个失效参数,大概因为那种因为没辙实行这项操纵,那么操纵体例就会归来一个值,指明该因变量在那种水平上运转波折了。 windows因变量常用的归来值典型: void bool:0,非0,ture,false handle:handle,null,invalid_handle_valid) pvoid:null,pvoid long/dword:简直因变量而定 ... microsoft编写翻译了一个一切大概的缺点代码列表,而且为每个缺点代码调配了一个32位的号子. winerror.h头文献(大概2万多行)包括了micorsoft设置的缺点代码列表. 当一个windows因变量检验和测定到一个缺点时,它会运用线程当地保存(thread-local storage)体制,将相映的缺点代码号子与挪用的线程关系起来.这将使线程不妨彼此独力的运转,而不会感化各自的缺点代码. 当因变量归来时,它的归来值就能指明能否有缺点爆发,若有且要决定是什么缺点,就须要挪用dword getlasterror()因变量,它归来线程的32位缺点代码.visual studio有一个error lookup步调可用将缺点代码的号子换成相映文本刻画.windows还供给了一个因变量formatmessage不妨将缺点代码变换成它的文本刻画.dword formatmessage( dword dwflags, // source and processing options lpcvoid lpsource, // message source dword dwmessageid, // message identifier dword dwlanguageid, // language identifier lptstr lpbuffer, // message buffer dword nsize, // maximum size of message buffer va_list *arguments // array of message inserts); 咱们也不妨在本人的因变量中运用该体制,只须要运用void setlasterror(dword dwerrcode)因变量即可,即使winerror.h中的任何代码都不许精确地反应该缺点的本质,那么不妨创造你本人的代码。缺点代码的域的分别表:位 31~30 29 28 27~16 15~0实质 重要性 microsoft/存户 保持 摆设代码 特殊代码含意 0=胜利 0=ms设置的代码 必顺是0 由ms设置 由ms或存户设置 1=参考 2=劝告 1=存户设置的代码 3=缺点注:即使创造本人的缺点代码,必顺使29位为1.