AdjustTokenPrivileges

从MSDN上翻译的。。 翻译水平有限。 。但是是自己翻译的。。

这个函数中的结构体请看下面相关链接。。

 

 

 

AdjustTokenPrivileges

AdjustTokenPrivileges这个函数启用或禁止 指定访问令牌的特权。

启用或禁用特权一个有TOKEN_ADJUST_PRIVILEGES访问的访问令牌.

BOOL AdjustTokenPrivileges(

HANDLE TokenHandle, //包含特权的句柄

BOOL DisableAllPrivileges,

//禁用所有权限标志

PTOKEN_PRIVILEGES NewState,

//新特权信息的指针(结构体)

DWORD BufferLength, //大小,以字节为单位的PreviousState的缓存区(sizeof)

PTOKEN_PRIVILEGES PreviousState,

//接收被改变特权当前状态的Buffer

PDWORD ReturnLength //接收PreviousState缓存区要求的大小

);

 

参数

TokenHandle

包含要修改特权的访问令牌的标识(句柄).这个句柄必须有TOKEN_ADJUST_PRIVILEGES访问令牌.如果PreviousState不是NULL,这个句柄还必须有TOKEN_QUERY访问特权.

DisableAllPrivileges

标志这个函数是否禁用该令牌的所有特权.如果为TRUE,这个函数禁用所有特权,NewState参数无效.如果为假,以NewState参数指针的信息为基础来修改特权.

NewState

一个TOKEN_PRIVILEGES结构体的指针指定了一组特权和他们的属性.

如果参数DisableAllPrivilegesFALSE,AdjustTokenPrivileges 启用或禁用这些令牌的特权.

如果你给一个特权设置了SE_PRIVILEGE_ENABLED的属性,这个函数将启动特权,否则禁用特权.

如果DisableAllPrivilegesTRUE,这个参数无效.

BufferLength

标志参数PreviousState指针以字节大小缓存区(sizeof).

如果参数PreviousStateNULL,这个参数可以为NULL.

PreviousState

这个函数填充一个TOKEN_PRIVILEGES结构体【指针】,它包括该函数修改之前任何特权状态.这个参数可以为NULL.

如果指定的缓冲区太小,无法收到完整的修改权限列表,这个函数失败并不会修改任何特权.

这个函数设置了一个 拥有修改权限完成列表【 参数ReturnLength 】的字节数 的指针变量.[结果的Buffer]

ReturnLength

接收 参数PreviousState的缓存区指针的 字节大小 的 变量指针(长度指针).

如果PreviousStateNULL,这个参数可以为NULL.

返回值

如果这个函数成功,返回非0.为了确定这个函数是否修改了所有指定的特权,可以调用GetLastError函数,当这个函数返回下面的值之一时就代表函数成功:

描述

ERROR_SUCCESS

这个函数修改了所有指定的特权.

ERROR_NOT_ALL_ASSIGNED

这个令牌没有参数NewState里指定一个或多个的权限.(一个或多个没有修改成功).

即使权限没有被修改.这个函数也可能成功(返回这个error)

表明 参数PreviousState 被修改.

 

如果这个函数失败,返回0.要得到更多的错误信息,调用GetLastError.

 

备注

AdjustTokenPrivileges函数不能添加新的特权到访问令牌.它只能启用或禁用令牌现行的令牌.要想确定这个令牌的特权,调用GetTokenInformation函数.

请注意,参数NewState可以不给令牌指定权限,这不会导致函数失败.

在这种情况下,这个函数修改令牌现有的特权,其他特权无效,并成功返回.

调用GetLastError函数,以确定这个函数修改了所有指定的特权.

PreviousState参数表明特权被修改.

 

 

 

参数PreviousState 返回一个 包含 修改权限 原始状态的结构体 TOKEN_PRIVILEGES,

这样就可以在随后调用AdjustTokenPrivileges函数时,传递PreviousState指针到 参数NewState ,来恢复原来的状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值