zoukankan      html  css  js  c++  java
  • 命名对象继承2-验证Open*命名对象安全属性的传递

    接上一篇

    这次是验证Open*(本文使用OpenMutex函数)的命名对象在继承中安全属性的传递

        SECURITY_ATTRIBUTES sa; //设置句柄安全性
        sa.nLength = sizeof(sa);
        sa.lpSecurityDescriptor = NULL;
        sa.bInheritHandle = TRUE;
        HANDLE hMutex1 = CreateMutex(&sa, FALSE, TEXT("JeffObj")); //创建对象句柄1
    
        HANDLE hMutex2 = OpenMutex(MUTEX_ALL_ACCESS, FALSE, TEXT("JeffObj")); //继承一个对象句柄2
        
        DWORD dwFlags1;
        GetHandleInformation(hMutex1, &dwFlags1); //验证对象句柄1的继承性 
        BOOL fHandleIsInheritable1 = (0 != (dwFlags1 & HANDLE_FLAG_INHERIT));
        DWORD dwFlags2;
        GetHandleInformation(hMutex2, &dwFlags2); //验证对象句柄1的继承性,判断是否继承安全性成功
        BOOL fHandleIsInheritable2 = (0 != (dwFlags2 & HANDLE_FLAG_INHERIT));
        CloseHandle(hMutex1);
        CloseHandle(hMutex2);

    可以看到dwFlags1和dwFlags2的值不同,所以继承对象句柄中,安全性继承失败

  • 相关阅读:
    CSS躬行记(9)——网格布局
    CSS躬行记(8)——裁剪和遮罩
    CSS躬行记(7)——合成
    CentOS 系统目录解析
    Linux 命令快捷键
    秒的精确度
    Oracle和mysql中装逼dual表的用途介绍
    mysql 的mgr集群
    ansible笔记
    cygwin
  • 原文地址:https://www.cnblogs.com/zero5/p/3479351.html
Copyright © 2011-2022 走看看