阅读:2051回复:9
请教高手最简单的问题,NTSTATUS是什么类型?
请教高手NTSTATUS在DDK历程中基本上全是函数历程的返回类型,但是小弟看了看头文件,发现是用它代替long类型的,请高手们证明一下是不是这样,谢谢了
|
|
沙发#
发布于:2003-05-06 21:56
NTSTATUS是一个由多个子域组成的32位整数,如图3-2。高两位(Severity)指出状态的严重性――成功、信息、警告、错误。客户位(Customer)是一个标志,完成的IRP将携带一个表明完成状态的状态代码,如果这个状态代码中的Customer标志被设置,那么这个状态代码将被不修改地传回应用程序(应用程序通过调用GetLastError函数获得)。通常,状态代码在返给应用程序前要翻译成Win32错误代码(Win32错误代码可以在KBase Q113996文章中查到)。facility代码指出该状态是由哪个系统部件导致的,一般用于减少开发组之间的代码关联。剩下的16位代码指出实际的状态。
|
|
|
板凳#
发布于:2003-05-06 22:38
可是图哪? :D
|
|
地板#
发布于:2003-05-06 22:50
:D
|
|
|
地下室#
发布于:2003-05-07 09:57
用户被禁言,该主题自动屏蔽! |
|
5楼#
发布于:2003-05-08 22:45
我美仔细看WY的书,不好意思,我怕我看不懂,呵呵,所以在看winWDM,谢谢高手指点,送分
|
|
6楼#
发布于:2003-05-08 23:28
我美仔细看WY的书,不好意思,我怕我看不懂,呵呵,所以在看winWDM,谢谢高手指点,送分 刚开始谁看的懂啊,多看几遍就好了,呵呵 |
|
|
7楼#
发布于:2003-05-10 00:14
你看一下 NTDDK\\inc\\ntstatus.h 这个文件就明白了。
实际上就是一个32bits的无符号整数。 // //..Values.are.32.bit.values.layed.out.as.follows: // //...3.3.2.2.2.2.2.2.2.2.2.2.1.1.1.1.1.1.1.1.1.1 //...1.0.9.8.7.6.5.4.3.2.1.0.9.8.7.6.5.4.3.2.1.0.9.8.7.6.5.4.3.2.1.0 //..+---+-+-+-----------------------+-------------------------------+ //..|Sev|C|R|.....Facility..........|...............Code............| //..+---+-+-+-----------------------+-------------------------------+ // //..where // //......Sev.-.is.the.severity.code // //..........00.-.Success //..........01.-.Informational //..........10.-.Warning //..........11.-.Error // //......C.-.is.the.Customer.code.flag // //......R.-.is.a.reserved.bit // //......Facility.-.is.the.facility.code // //......Code.-.is.the.facility\'s.status.code // // |
|
8楼#
发布于:2003-05-11 10:34
Good!
|
|
9楼#
发布于:2004-01-06 21:57
多谢了,学到不少。
|
|