OpenProcessToken,LookupPrivilegeValue,AdjustTokenPrivileges
来源:百度知道 编辑:UC知道 时间:2024/05/14 12:20:51
BOOL WINAPI OpenProcessToken(
__in HANDLE ProcessHandle,
__in DWORD DesiredAccess,
__out PHANDLE TokenHandle
);
分别是进城句柄,访问权(一般用TOKEN_ALL_ACCESS),返回的Token句柄
BOOL WINAPI LookupPrivilegeValue(
__in_opt LPCTSTR lpSystemName,
__in LPCTSTR lpName,
__out PLUID lpLuid
);
第一个如果是本地直接写0,第二个是权限的名字,第三个是返回的权限ID
BOOL WINAPI AdjustTokenPrivileges(
__in HANDLE TokenHandle,
__in BOOL DisableAllPrivileges,
__in_opt PTOKEN_PRIVILEGES NewState,
__in DWORD BufferLength,
__out_opt PTOKEN_PRIVILEGES PreviousState,
__out_opt PDWORD ReturnLength
);
第一个是你OpenProcessToken获得的句柄
第二个是是否要关掉所有的权限
第三个是你需要修改的权限列表
后三个用来保存原来的权限列表,一般都设成0就可以
权限列表:
typedef struct _TOKEN_PRIVILEGES {
DWORD PrivilegeCount;
LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY];
} TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES;
分别是要修改权限的个数和具体内容。
ty