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的值不同,所以继承对象句柄中,安全性继承失败

  • 相关阅读:
    开通第一天,以此随笔作为纪念
    Apache 基于IP访问网站
    命令解释
    vi总结
    RAID
    Windows虚拟机安装
    CentOS虚拟机安装
    通过挂载系统光盘搭建本地yum仓库的方法
    VMware workstation 的安装
    Linux下关于vi命令的详细解说
  • 原文地址:https://www.cnblogs.com/zero5/p/3479351.html
Copyright © 2011-2022 走看看