1

说,我做到了

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)。有没有办法获得它的访问掩码(除了尝试对其进行适当的调用)?

4

1 回答 1

1

呼叫NtQueryObject传递ObjectBasicInformation

于 2012-12-10T12:20:39.427 回答