Главная страница
    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.45 MB
Время: 0.012 c
1-74166
senya
2003-10-10 12:46
2003.10.23
Развернуть/свернуть TreeView


14-74374
Another
2003-10-02 20:54
2003.10.23
Найти книгу


4-74525
acsoft
2003-08-18 08:01
2003.10.23
Как пользоваться функцией keybrd_event?


1-74220
Abikos
2003-10-09 17:22
2003.10.23
Ищу бесплатные компоненты для отображения animated gifs


14-74387
El
2003-10-06 13:11
2003.10.23
Это ж доколя над человеком женский пол издеваться будеть! ;)))





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский