中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

提升進程的訪問權限,在AdjustTokenPrivileges后返回錯誤13

小億
88
2023-12-25 12:33:56
欄目: 編程語言

錯誤13表示權限被拒絕。要提升進程的訪問權限,你需要使用特權令牌(privilege token)去請求提升的權限。下面是一個可以參考的代碼示例:

#include <Windows.h>
#include <iostream>

int main()
{
    HANDLE hToken;
    TOKEN_PRIVILEGES tokenPrivileges;
    LUID luid;

    // 打開當前進程的令牌
    if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
    {
        std::cout << "OpenProcessToken failed. Error: " << GetLastError() << std::endl;
        return 1;
    }

    // 獲取SE_DEBUG_NAME的權限特權
    if (!LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &luid))
    {
        std::cout << "LookupPrivilegeValue failed. Error: " << GetLastError() << std::endl;
        return 1;
    }

    // 設置特權令牌
    tokenPrivileges.PrivilegeCount = 1;
    tokenPrivileges.Privileges[0].Luid = luid;
    tokenPrivileges.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

    // 提升進程權限
    if (!AdjustTokenPrivileges(hToken, FALSE, &tokenPrivileges, sizeof(TOKEN_PRIVILEGES), NULL, NULL))
    {
        std::cout << "AdjustTokenPrivileges failed. Error: " << GetLastError() << std::endl;
        return 1;
    }

    std::cout << "Process access level has been elevated." << std::endl;

    return 0;
}

這個示例代碼打開當前進程的令牌,獲取了SE_DEBUG_NAME的權限特權,并使用AdjustTokenPrivileges函數提升進程權限。如果返回錯誤13,則表示權限被拒絕。可能是由于你沒有足夠的權限去提升進程權限,或者操作系統不允許進程提升權限。

0
泸定县| 和平区| 六枝特区| 衢州市| 新建县| 齐齐哈尔市| 福贡县| 莫力| 南召县| 淅川县| 洛南县| 襄汾县| 万盛区| 昌宁县| 隆尧县| 西丰县| 望城县| 若尔盖县| 尼勒克县| 平陆县| 玉树县| 健康| 玛曲县| 黄陵县| 顺义区| 眉山市| 保康县| 闻喜县| 股票| 张家川| 乃东县| 黑水县| 万盛区| 苏州市| 嘉义市| 陇西县| 景德镇市| 盘山县| 荆门市| 临夏县| 沈阳市|