Security 如何在启用了API CreateFile()和SE_MANAGE_VOLUME_NAME权限的情况下打开文件?

Security 如何在启用了API CreateFile()和SE_MANAGE_VOLUME_NAME权限的情况下打开文件?,security,delphi,winapi,Security,Delphi,Winapi,我需要使用API函数SetFileValidData,但这只适用于“启用了SE\u MANAGE\u VOLUME\u NAME权限”打开的文件句柄,我不知道如何启用它。我搜索过了,但对我来说太复杂了。备注:我对我的计算机拥有管理员权限。总结评论: 调用CreateFile打开文件句柄时,您需要您的进程令牌来拥有SE\u MANAGE\u VOLUME\u NAME权限 您可以通过调用AdjustTokenPrivileges来获得该权限 有关如何执行此操作的一些示例,请参见和 在调用Crea

我需要使用API函数
SetFileValidData
,但这只适用于“启用了
SE\u MANAGE\u VOLUME\u NAME
权限”打开的文件句柄,我不知道如何启用它。我搜索过了,但对我来说太复杂了。备注:我对我的计算机拥有管理员权限。

总结评论:

  • 调用
    CreateFile
    打开文件句柄时,您需要您的进程令牌来拥有
    SE\u MANAGE\u VOLUME\u NAME
    权限
  • 您可以通过调用
    AdjustTokenPrivileges
    来获得该权限
  • 有关如何执行此操作的一些示例,请参见和
在调用
CreateFile
创建句柄之前,使用
AdjustTokenPrivileges
添加
SE\u MANAGE\u VOLUME\u NAME
。您需要使用允许添加该权限的已用令牌运行。我不知道如何使用,我从未使用过令牌。。。似乎我需要一个令牌句柄,为此我需要打开一个具有进程\查询\信息访问权限和。。。我迷失了:(在网络上有很多关于如何调用<代码>调整KeNevests<代码>的例子。从这里开始:我成功地将这个过程从C++转换成Delphi,我理解它是如何工作的……但是我是如何得到令牌句柄的?示例代码: