Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "WinAPI";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.016 c
1-74269
Developerr
2003-10-11 12:58
2003.10.23
Как установить Tidestone Formula One 6 в Delphi.


1-74315
romeo
2003-10-12 02:36
2003.10.23
Как сразу выделить память для TComponent.Components?


3-73999
Митяй
2003-10-02 20:29
2003.10.23
---|Ветка была без названия|---


8-74323
FlyDragon
2003-06-23 12:18
2003.10.23
WinAmp - PlayList


14-74436
VEG
2003-10-02 22:55
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский