如何获得W32句柄访问?

时间:2012-12-10 12:17:19

标签: windows winapi

说,我做了

HANDLE h = CreateFileA ("foobar", GENERIC_READ | GENERIC_WRITE, 0, NULL, 
    OPEN_ALWAYS, 0, NULL);

现在句柄h有GENERIC_READ | GENERIC_WRITE访问(如果调用成功)。

问题:我应该在h上调用什么函数来恢复其访问模式(即GENERIC_READ | GENERIC_WRITE)?

示例GetStdHandle (STD_INPUT_HANDLE)返回某些句柄以某种方式最终成为您的标准输入。你不知道它是文件,管道还是别的东西(有办法获得句柄类型,但这不是重点)。并且它可能具有任何访问权限(CreateProcess不检查您在STARTUPINFO中提供的句柄)。有没有办法获得它的访问掩码(除了尝试适当的调用)?

1 个答案:

答案 0 :(得分:1)

通过ObjectBasicInformation致电NtQueryObject