Привет Всем! Мне нужно из программы ( Visual C++ 6.0, C++Builde 6.0) записать информацию в защищенную часть реестра, например: HKLM\SYSTEM\CurrentControlSet\Enum\... . Но для этого административных прав не достаточно. Не могли бы ДЗЕНствующие помочь получить их? Буду ну ОЧЕНЬ благодарен и должен бутылку баварского пива ( несуществующего в природе ;=))! Viktor vetoshkin@mail333.com
это почему же административных прав не достаточно -то ? регедит это запросто делает может надо security token добавить ?
К сожалению не достаточно, я имею в виду Enum, хотя в Edit/Permission это можно исправить. "security token" - я пытался с помощью следующего кода ( схематично): ::OpenProcessToken (::GetCurrentProcess (), TOKEN_ADJUST_PRIVILEGES, &hToken)) ::LookupPrivilegeValue(NULL, SE_BACKUP_NAME, &luid)) tp.PrivilegeCount = 1; tp.Privileges[0].Luid =luid; tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; ::AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(TOKEN_PRIVILEGES),NULL, NULL ); меняя все возможные константы ( вместо SE_BACKUP_NAME). К сожалению ничего не получилось. Я думаю и ищу в направлении ACL. Спасибо за участие.
да ,действительно The HKLM\SYSTEM\CurrentControlSet\Enum Tree The HKLM\SYSTEM\CurrentControlSet\Enum registry tree contains information about the devices on the system. The PnP Manager creates a subkey for each device, with a name in the form of HKLM\SYSTEM\CurrentControlSet\Enum\enumerator\deviceID. Under each of these keys is a subkey for each device instance present on the system. This subkey, which is known as the device's hardware key (or, device key), has information such as the device description, hardware IDs, compatible IDs, resource requirements, and so forth. The Enum tree is reserved for use by operating system components, and its layout is subject to change. Drivers and user-mode Setup components must use system-supplied functions, such as IoGetDeviceProperty and SetupDiGetDeviceRegistryProperty, to extract information from this tree. Drivers and Setup applications must not access the Enum tree directly. You can view the Enum tree directly using the registry editor when debugging drivers. так что нелегитимно писать туды что - либо , это , кстати может означать что как такового ключа не существует , и он динамически создаётся pnp manager,
staier: Не совсем так. Скорее наоборот - PnP Manager читает оттуда. В regEdit ситуцию можно ручками поправить - в меню Edit/Permission изменить права - и пиши на здоровье. Я так и тестировал программу. Но мне надо провести предварительную инсталляцию USB прибора, так чтобы при подключении не вываливались никакие окошки. Дополнительные сложности - дрова создают виртуальный COM порт со своими дровами ( и тоже не должны беспокоить лишними вопросами зверей) и все это у Билла не сертифицировано. Для начала я должен инсталляцию дров не делать а лишь ПнП уговорить, чтобы он не дергался. Методом тыка я нашел заклинания, но ... как скать их ПнП?...