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

Вниз

SECURITY ATTRIBUTES   Найти похожие ветки 

 
Ермак ©   (2004-02-11 12:36) [0]

Добрый день, уважаемые!

Подскажите пожалуйста, как работать c SECURITY ATTRIBUTES, или ссылку на инфу русскоязычную, а то в хелпе СДК так запутанно все, и Рихтер тоже отделался парой фраз...

Конкретнее: у меня есть программа-сервис под НТ. Она создает проецируемый в память файл. Какие нужно указать атрибуты, чтобы можно было его открыть из а)проги, работающей от админа
б)проги, работающей от любого логина? При указании 0 - не прокатывает, хотя Рихтер пишет, что админы могут открывать любой такой объект ядра.

Заранее огромное спасибо.


 
Игорь Шевченко ©   (2004-02-12 11:27) [1]

Как раз у Рихтера и Кларка очень подробно расписано, как работать с SECURITY_ATTRIBUTES, "Программирование серверных приложений для Windows 2000"


 
Alexander1966 ©   (2004-02-13 10:29) [2]

Джеффри РИХТЕР

"Создание эффективных WIN32-приложений
с учетом специфики 64-разрядной версии Windows"

Там и кроме этого масса полезной информации


 
Ермак ©   (2004-02-14 10:51) [3]

У Рихтера в "Создание эффективных Вин32 приложений..." ничего подробно не пишется. Там только то, как сделать нормальный средний случай. Об остальном он отговаривается, что дескать это все равно очень редко используется. А "Прог СЕрвер Прил" очень дорогая и купить возможности нет.
Может кто в Инете натыкался на электронную версию книги или просто подходящую инфу?

Если нет, то может подскажете, как для этого конкретного случая написать? Был бы чрезвыяайно благодарен. Хотя б общий принцип, как там устанавливается привилегия.


 
ZZ ©   (2004-02-14 22:40) [4]

a) 0 (или что значт "от админа"?)
б) MSDN

Creating a Null DACL
The following example creates a mutex with a null DACL.

If you are creating one of these objects in an application and the object will be shared with a service, you could also use a null DACL to grant everyone access. As an alternative, you could add an access-control entry (ACE) to the DACL that grants access to the user account that the service is running under. This would restrict access to the object to the service.

PSECURITY_DESCRIPTOR pSD;
SECURITY_ATTRIBUTES sa;

pSD = (PSECURITY_DESCRIPTOR) LocalAlloc(LPTR,
     SECURITY_DESCRIPTOR_MIN_LENGTH);

if (pSD == NULL)
  Error(...);

if (!InitializeSecurityDescriptor(pSD, SECURITY_DESCRIPTOR_REVISION))
  Error(...);

// Add a null DACL to the security descriptor.
if (!SetSecurityDescriptorDacl(pSD, TRUE, (PACL) NULL, FALSE))
   Error(...);

sa.nLength = sizeof(sa);
sa.lpSecurityDescriptor = pSD;
sa.bInheritHandle = TRUE;


 
Ермак ©   (2004-02-15 14:50) [5]

Спасибо, работает.

Но... Я хотел бы сделать различный доступ для различных пользователей. КАК это сделать В ПРИНЦИПЕ я уже разобрался. Решил написать библиотечку на VisualC++. Короче говоря, прочитал, что для SECURITY_ATTRIBUTES есть удобные классы в какой-то стандартной библиотеке ATL. Только как эту библиотеку подключить, я не дотумкал. ATL.H - такого нет. ИСкал в папке Висуал С файл с CSecurityAttributes - тоже нет. По ходу, эта библиотека вообще в VC не входит.

Может кто знает, где ее достать можно? Подскажите, плз.



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

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

Наверх




Память: 0.46 MB
Время: 0.03 c
1-1080326176
ser_ega
2004-03-26 21:36
2004.04.18
Печать текста!!!


6-1076493154
dm37
2004-02-11 12:52
2004.04.18
Передача данных по TCP/IP


9-1066817546
misterix
2003-10-22 14:12
2004.04.18
Исходник загрузки Half-Life mdl


3-1079876881
Anarki
2004-03-21 16:48
2004.04.18
QReport - как узнать общее число страниц?


1-1080337442
garry79
2004-03-27 00:44
2004.04.18
Как принудительно закрыть Excel евский файл?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский