WIndows via C/C++ 学习(12)权限上下文
摘抄了 Windows via C/C++ 上的一段代码,一个函数——GetProcessElevation,返回安全令牌的提升类型和一个表示当前是否运行在管理员身份下。
BOOL GetProcesElevation(TOKEN_ELEVATION_TYPE *pElevation, BOOL *pIsAdmin)
{HANDLE hToken = NULL;DWORD dwSize;// 获得当前进程令牌if (!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hToken))return FALSE;BOOL b_Result = FALSE;// 检索提升类型信息if (GetTokenInformation(hToken, TokenElevationType, pElevation, sizeof(TOKEN_ELEVATION_TYPE), &dwSize)){if(*pElevation == TokenElevationTypeLimited){// 创建 Administrator 组相应的 SIDBYTE adminSID[SECURITY_MAX_SID_SIZE];dwSize = sizeof(adminSID);CreateWellKnownSid(WinBuiltinAdministratorsSid, NULL, adminSID, &dwSize);// 获得链接令牌的句柄HANDLE hUnfilteredToken = NULL;GetTokenInformation(hToken, TokenLinkedToken, (LPVOID)&hUnfilteredToken, sizeof(HANDLE), &dwSize);// 检测令牌是否包含管理员SIDif(CheckTokenMembership(hUnfilteredToken, &adminSID, pIsAdmin))b_Result = TRUE;CloseHandle(hUnfilteredToken);}else{*pIsAdmin = IsUserAnAdmin();b_Result = TRUE;}CloseHandle(hToken);return b_Result;}
}
转载于:https://www.cnblogs.com/Fly-pig/archive/2011/01/21/1941189.html
WIndows via C/C++ 学习(12)权限上下文相关推荐
- 分享Silverlight/WPF/Windows Phone一周学习导读(11月6日-11月12日)
分享Silverlight/WPF/Windows Phone一周学习导读(11月6日-11月12日) 本周Silverlight学习资源更新 [Silverlight]关于对Canvas.ZInde ...
- 如何安装mysql 8.0.12_基于Windows安装MySQL 8.0.12图文教程
本教程仅适用Windows系统,如果你原本装了没装上,一定要先删除原本的数据库,执行:mysqld --remove mysql,然后在看我的帖子! 第一步:到MySQL官网下载安装包 第二步:将下载 ...
- Windows内网协议学习Kerberos篇之PAC
转自:https://www.anquanke.com/post/id/192810 author: daiker@360RedTeam 0x00 前言 这是kerbreos篇的最后一篇文章了.这篇文 ...
- 分享Silverlight/WPF/Windows Phone一周学习导读(10月30日-11月6日)
分享Silverlight/WPF/Windows Phone一周学习导读(10月30日-11月6日) 本周Silverlight学习资源更新 Silverlight 定位 niejunhua [学习 ...
- 分享Silverlight/WPF/Windows Phone一周学习导读(8月15日-8月19日)
分享Silverlight/WPF/Windows Phone一周学习导读(8月15日-8月19日) 本周Silverlight学习资源更新: Silverlight Tools 4安装时的错误提示 ...
- 分享Silverlight/WPF/Windows Phone一周学习导读(3月1日-3月5日)
休假一个月,没有更新Silverlight/WPF/Windows Phone学习导读.从本周开始继续分享每周最新的Silverlight/WPF/Windows Phone开发学习导读. 本周Sil ...
- Windows进程与线程学习笔记(一)—— 进程结构体
Windows进程与线程学习笔记(一)-- 进程结构体 进程结构体 EPROCESS +0x000 Pcb : _KPROCESS +0x1b0 Peb : Ptr32 _PEB 练习 解题步骤 第一 ...
- 分享Silverlight/WPF/Windows Phone一周学习导读(06月13日-06月18日)
分享Silverlight/WPF/Windows Phone一周学习导读 本周Silverlight学习资源更新: 小D学blend-----优美简洁的mp3播放器 D调の幸福 Silverligh ...
- 分享Silverlight/WPF/Windows Phone一周学习导读(06月06日-06月11日)
Windows 8预览版推出后,Silverlight社区掀起一番新的"Silverlight灭亡"讨论,由于Windows 8预览版中微软重点强调HTML 5和Javascrip ...
- 分享Silverlight/WPF/Windows Phone一周学习导读(1月3日-1月8日)
新年后开始工作的第一周,新的一批MVP被评出来了,其中Silverlight方向增加了不少国人.在JohnPapa的个人网站公布了2011年1月的Silverlight MVPs名单,其中至少五位国人 ...
最新文章
- 使用带有用户名和密码的cURL?
- Android中自定义属性(attrs.xml,TypedArray的使用)
- Codeforces 1196E Connected Component on a Chessboard
- OpenCV距离变换和分水岭算法的图像分割
- 获取计算机的信息(IP地址、MAC地址、CUP序列号、硬盘序列号、主板信息等等)...
- python求三个数中最小(大)的元素
- mysql data to long_mysql 当插入中文字段时发生“data too long for column”错误
- Spring Boot-------JPA——EntityManager构建通用DAO
- Adobe系列错误代码解决方案汇总
- pg数据库中postgis的使用
- win10 电池测试软件,Win10电池检测方法及查看Win10电池检测报告说明
- 关于NXP公司的IMX6系列芯片参考资料体系介绍
- html5制作人物动作,骨骼动画制作新利器:快速制作动作人物动画,省时简单!...
- MATLAB 四点定球及三点定圆(完整代码)
- JavaScript 编写Date 格式化方法『Python风格』
- 记录下SpringBoot父子工程使用jib构建docker镜像的过程(跳过多余模块)
- rand函数和srand函数详解
- Excel表格插入斜线
- Google Earth Engine APP ——Forest Health监测APP(可下载)
- 计算机科学引论2021中文,计算机科学引论(2021英文精编版)
热门文章
- 程序员的一个爬虫,把估值175亿的马蜂窝给捅了
- 阿里员工都是这样排查Java问题的,附工具单
- redis:RDM连接阿里云redis服务器
- 9.C++弱引用智能指针weak_ptr的用处
- 0666 | IPC_CREAT
- 【Python】青少年蓝桥杯_每日一题_9.03_画三角形和半圆相切
- Java洛谷P1149 火柴棒等式
- 怎么样让body、div占满整个浏览器的窗口
- java中io流案例_Java IO流的简单使用 通俗易懂 超详细 【内含案例】
- 1000亿,行业巨头纷纷押宝的数据中心