Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.23;
Скачать: CL | DM;

Вниз

SaveKey с правами не ALL_ACCESS   Найти похожие ветки 

 
RadaR   (2003-08-15 19:43) [0]

Я использую TRegistry, но столкнулся с проблемой:
SaveKey происходит всегда с аттрибутами ПОЛНЫЙ ДОСТУП
Хотел на прямую поюзать АПИ (там есть переменная для задания такого доступа) но не нашел описания lpSecurityAttributes: PSecurityAttributes.

function RegSaveKey(hKey: HKEY; lpFile: PChar;
lpSecurityAttributes: PSecurityAttributes): Longint; stdcall;

Кто чем может помочь?


 
Игорь Шевченко ©   (2003-08-18 10:40) [1]

Эта переменная указывает какие атрибуты будут у создаваемого файла. К доступу к реестру она не имеет отношения.


 
jonni ©   (2003-08-18 13:16) [2]

to Игорь Шевченко:
то что отношения к реестру нету это ты зря

LONG RegCreateKeyEx(

HKEY hKey, // handle of an open key
LPCTSTR lpSubKey, // address of subkey name
DWORD Reserved, // reserved
LPTSTR lpClass, // address of class string
DWORD dwOptions, // special options flag
REGSAM samDesired, // desired security access
LPSECURITY_ATTRIBUTES lpSecurityAttributes, // address of key security structure
PHKEY phkResult, // address of buffer for opened handle
LPDWORD lpdwDisposition // address of disposition value buffer
);


 
jonni ©   (2003-08-18 13:19) [3]

to RadaR:
posmotri na eto naprimer:

The SECURITY_ATTRIBUTES structure contains the security descriptor for an object and specifies whether the handle retrieved by specifying this structure is inheritable.

//--------------------------------
typedef struct _SECURITY_ATTRIBUTES { // sa
DWORD nLength;
LPVOID lpSecurityDescriptor;
BOOL bInheritHandle;
} SECURITY_ATTRIBUTES;
//--------------------------------


 
Игорь Шевченко ©   (2003-08-18 13:55) [4]

jonni © (18.08.03 13:16)

Внимательно вопрос читаем.

> function RegSaveKey(hKey: HKEY; lpFile: PChar;
> lpSecurityAttributes: PSecurityAttributes): Longint; stdcall


Внимательно help читаем по RegSaveKey.

lpSecurityAttributes

Windows NT: Pointer to a SECURITY_ATTRIBUTES structure that specifies a security descriptor for the new file. If lpSecurityAttributes is NULL, the file gets a default security descriptor.
Windows 95: This parameter is ignored.


 
jonni ©   (2003-08-18 18:02) [5]

может ону подрозумевают ключ реестра как файл......?


 
Almaz ©   (2003-08-19 00:49) [6]


> RadaR (15.08.03 19:43)
> Я использую TRegistry, но столкнулся с проблемой:
> SaveKey происходит всегда с аттрибутами ПОЛНЫЙ ДОСТУП
> Хотел на прямую поюзать АПИ (там есть переменная для задания
> такого доступа) но не нашел описания lpSecurityAttributes:
> PSecurityAttributes.
>
> function RegSaveKey(hKey: HKEY; lpFile: PChar;
> lpSecurityAttributes: PSecurityAttributes): Longint; stdcall;
>
> Кто чем может помочь?

Попробую помочь ;)

1) Если у вас Дельфи версии >= 5.0 то у TRegistry есть свойство - Access. По умолчанию, он задан как KEY_ALL_ACCESS, но достаточно вручную установить Access := KEY_READ (или другой доступ, какой вам нужен) - и пользоваться TRegistry дальше.

2) Если Дельфи 3.0 или ниже (про 4.0 не знаю) то придуться использовать WinAPI. Так вот права на доступ задаются при открытии ключа, а не при сохранении значения. Т.е. права задаются в функции RegOpenKeyEx. Например:
RegOpenKeyEx(HKEY_CLASSES_ROOT, "имя ключа", 0,
KEY_READ, Key)


3) PSecurityAttributes - к правам доступа к ключам в том понимании, в котором вы его изложили - отношения не имеет

Удачи.



Страницы: 1 вся ветка

Текущий архив: 2003.10.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
1-74233
yaJohn
2003-10-09 11:19
2003.10.23
Переполнение массива в длл


1-74251
Александр М.
2003-10-12 18:50
2003.10.23
TreeView


9-73955
Sword-Fish
2003-04-21 09:32
2003.10.23
Звуки в DXWaveList !!!


14-74479
Zhouck
2003-10-03 10:42
2003.10.23
DVD - какая система его потянет?


1-74307
MacX
2003-10-11 15:11
2003.10.23
Динамический двумерный массив