Доступ к ключу реестра (с НЕПОЛНЫМИ правами)
От: Аноним  
Дата: 15.06.06 08:44
Оценка:
Исходные данные:
Доступ к ключу реестра — чтение (полного доступа нет)

Задача:
Работа с ключом (чтение, запись, удаление, перечисление)

Достигнутый результат:
...
    HANDLE hToken;
    TOKEN_PRIVILEGES tkp;

    // Получаем маркер текущего процесса.
    if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))    return false;

    // Получаем LUID для соответствующей привелегии.
    if (LookupPrivilegeValue(NULL, SE_TAKE_OWNERSHIP_NAME , &tkp.Privileges[0].Luid))
    {        
        tkp.PrivilegeCount = 1; // будет установлена одна привелегия
        tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

        // Получаем привелегию завершения работы для этого процесса.
        AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES) NULL, 0);
        RegOpenKeyEx(m_hKey, m_sSubKey.c_str(), 0, WRITE_OWNER, &m_hRegKey);
    }
...


Проблема:
Не знаю что делать дальше...
Надо
RegOpenKeyEx(m_hKey, m_sSubKey.c_str(), 0, KEY_SET_VALUE | KEY_QUERY_VALUE | KEY_ENUMERATE_SUB_KEYS, &m_hRegKey);

, или что-то в этом роде.... вообщем для работы.

Помогите пожалуйста!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.