当你调用CreateFile
时,你传入dwDesiredAccess
以确定句柄是否应该是可写/可读/可删除/等。
如果我通过了一个打开的句柄,我该如何恢复这些访问权限?具体来说,我对句柄是否可写是感兴趣的(......实际上没有写入句柄)。
更具体地说,我在FlushFileBuffers()上遇到'访问被拒绝'错误,我猜它是因为它们没有用GENERIC_WRITE
打开,如果这是原因,我想忽略那些错误。
对于这个存在函数NtQueryObject
与ObjectBasicInformation
ObjectInformationClass
OBJECT_BASIC_INFORMATION obi;
if (0 <= NtQueryObject(h, ObjectBasicInformation, &obi, sizeof(obi),0))
{
// use obi.GrantedAccess;
}