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

问题描述 投票:-3回答:1

当你调用CreateFile时,你传入dwDesiredAccess以确定句柄是否应该是可写/可读/可删除/等。

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

更具体地说,我在FlushFileBuffers()上遇到'访问被拒绝'错误,我猜它是因为它们没有用GENERIC_WRITE打开,如果这是原因,我想忽略那些错误。

windows
1个回答
0
投票

对于这个存在函数NtQueryObjectObjectBasicInformation ObjectInformationClass

    OBJECT_BASIC_INFORMATION obi;
    if (0 <= NtQueryObject(h, ObjectBasicInformation, &obi, sizeof(obi),0))
    {
        // use obi.GrantedAccess;
    }
© www.soinside.com 2019 - 2024. All rights reserved.