Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Списки контроля доступа Access Control List (ACL) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Переменная ссылочного типа в прототипе функции http://www.cyberforum.ru/cpp-beginners/thread956466.html
Только начала изучать C++ и эти прототипы функций нигде не всртечал. Прописываю прототип функции со ссылкой: void dectohex(int&); При компиляции выдает ошибку: error: expected ';', ',' or ')'...
C++ Написать программу считалочка Народ помогите написать программу считалочка, суть самой программы - написать программу в которой водим количество играков, затем водим несколько слов через пробел. Программа и должна эти слова... http://www.cyberforum.ru/cpp-beginners/thread956465.html
C++ Дано целое k от 1 до 180. Определить, какая цифра находится в k-ой позиции последовательности
Товарищи, задача такая: Дано целое k от 1 до 180. Определить, какая цифра находится в k-ой позиции последовательности 10111213....9899 в которой выписаны подряд все двухзначные числа. Помогите...
C++ Перевести с Pascal на C++
Всем привет) есть задачи: 2) Слова, содержащие сочетание ‘кот’, расположить в конце последовательности, сохраняя исходный порядок следования слов. Есть решение этих задач, но нужно мне помочь...
C++ Вычислить значение функции http://www.cyberforum.ru/cpp-beginners/thread956451.html
Вычислить значение функции в зависимости от интервала, в который попадает вводимый с клавиатуры аргумент.
C++ Необходимо найти длины биссектрис Помогите, как дальше продолжить написание программы используя данную формулу lc=sqrt(a*b*(a+b+c)*(a+b-c))/a*b (формула по нахождению длин биссектрис зная длины сторон треугольника. Вот как я начала... подробнее

Показать сообщение отдельно
MrWoolf
3 / 1 / 0
Регистрация: 29.11.2012
Сообщений: 60
20.09.2013, 21:11  [ТС]
Вот что получилось
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <windows.h>
#include <stdio.h>
#include <aclapi.h>
#include <iostream>
int main()
{
    DWORD dwDisposition;
    PSID pEveryoneSID = NULL;
    PACL pACL = NULL;
    PSECURITY_DESCRIPTOR pSD = NULL;
    EXPLICIT_ACCESS ea;
    SID_IDENTIFIER_AUTHORITY SIDAuthWorld = SECURITY_WORLD_SID_AUTHORITY;
    SECURITY_ATTRIBUTES sa;
    LONG lRes;
 
    // Create a well-known SID for the Everyone.
    AllocateAndInitializeSid(&SIDAuthWorld, 1,
                             SECURITY_WORLD_RID,
                             0, 0, 0, 0, 0, 0, 0,
                             &pEveryoneSID);
 
    // Initialize an EXPLICIT_ACCESS structure for an ACE.
 
    ZeroMemory(&ea, sizeof(EXPLICIT_ACCESS));
    ea.grfAccessPermissions = GENERIC_EXECUTE; /*собственно здесь и должна прописываться Смена разрешений */
    ea.grfAccessMode        = SET_ACCESS;
    ea.grfInheritance       = NO_INHERITANCE;
    ea.Trustee.TrusteeForm  = TRUSTEE_IS_SID;
    ea.Trustee.TrusteeType  = TRUSTEE_IS_WELL_KNOWN_GROUP;
    ea.Trustee.ptstrName    = (LPTSTR) pEveryoneSID;
 
    // Create a new ACL that contains the new ACEs.
    SetEntriesInAcl(1, &ea, NULL, &pACL);
 
    // Initialize a security descriptor.
    pSD = (PSECURITY_DESCRIPTOR) LocalAlloc(LPTR,
                             SECURITY_DESCRIPTOR_MIN_LENGTH);
 
    InitializeSecurityDescriptor(pSD, SECURITY_DESCRIPTOR_REVISION);
 
    // Add the ACL to the security descriptor.
    SetSecurityDescriptorDacl(pSD,
            TRUE,     // bDaclPresent flag
            pACL,
            FALSE);   // not a default DACL
 
    // Initialize a security attributes structure.
    sa.nLength = sizeof (SECURITY_ATTRIBUTES);
    sa.lpSecurityDescriptor = pSD;
    sa.bInheritHandle = FALSE;
 
    CreateFile("d:\\1.txt", GENERIC_WRITE,
                            FILE_SHARE_READ,
                            &sa,
                            OPEN_ALWAYS,
                            FILE_ATTRIBUTE_NORMAL,
                            NULL);
    FreeSid(pEveryoneSID);
    LocalFree(pACL);
    LocalFree(pSD);
    std::cin.get();
    return 0;
}
не знаю как с мьютексом сделать.
и второе не знаю как все это сделать на два окна. т.е на две программы
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru