首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NTStatus STATUS_SUCCESS还是STATUS_WAIT_0?

NTStatus STATUS_SUCCESS还是STATUS_WAIT_0?
EN

Stack Overflow用户
提问于 2014-12-05 13:00:36
回答 1查看 1.2K关注 0票数 1

我是P/调用NTQueryInformationProcess来获取进程父进程的id,并且我希望得到一个“可读的”错误作为回报,所以我从返回值中得到了NtStatus枚举.但我不明白为什么:

0x00000000 STATUS_SUCCESS

是否(平等?)到0x00000000 STATUS_WAIT_0?

首先,我认为这在这个特定的枚举中是个问题,但它与msdn文档匹配。

我该怎么区分呢?两者是一样的?(可能是个愚蠢的问题,但我看不出有什么区别。)我如何从成功到Wait_0在.net,以便我可以判断我的电话成功?

我应该无视STATUS_WAIT_0吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-05 13:08:20

你不能区分他们。等待函数返回STATUS_WAIT_0STATUS_WAIT_1等,直至STATUS_WAIT_63。这些状态代码的值为0,1,等等,最多可达63。

因此,如果代码位于STATUS_WAIT_0STATUS_WAIT_63包含的范围内,则可以标识使用表达式StatusCode - STATUS_WAIT_0发出信号的等待对象的索引。

返回这些状态代码的等待函数未记录为返回STATUS_SUCCESS。当它们成功时,它们将被记录为返回一个STATUS_WAIT_N代码。因此,在检查用于返回一个STATUS_SUCCESS代码的等待函数的返回值时,您根本不需要测试STATUS_WAIT_N。当然,为本机API函数找到文档是另一回事,但这是另一回事。

在这种情况下,您调用的函数不是等待函数。如果成功,它将返回STATUS_SUCCESS

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27316483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档