如何在打开的win32 HANDLE上获得访问权限

时间:2018-03-03 01:25:08

标签: windows

当您致电CreateFile时,您会传入dwDesiredAccess以确定句柄是否可写/可读/可删除/等。

如果我通过了打开的句柄,我该如何恢复这些访问权限?具体来说,我对句柄是否可写是感兴趣的(......实际上没有写入句柄)。

即使更多,我也会被拒绝访问 FlushFileBuffers()上的错误,我猜它是因为它们没有用GENERIC_WRITE打开,如果这是错误的话,我想忽略这些错误。

1 个答案:

答案 0 :(得分:0)

这个存在的函数NtQueryObject ObjectBasicInformation ObjectInformationClass

    OBJECT_BASIC_INFORMATION obi;
    if (0 <= NtQueryObject(h, ObjectBasicInformation, &obi, sizeof(obi),0))
    {
        // use obi.GrantedAccess;
    }