Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] В библиотеках Delphi функция описана правильно. Смотреть внутри ж-)) 16.07.02 23:49 Число просмотров: 1222
Автор: + <Mikhail> Статус: Elderman
|
> > > Hi, All! > > > Блин, досадная трабла, не знаю как побороться. > > > Уже что только не переделал. > > > Итак, вот кусок кода (Delphi): > > > >
> >> Var
> > > PSec: PSecurityDescriptor;
> > > Count: DWORD;
> > > pAccessList: PEXPLICIT_ACCESS_A;
> > > J: Integer;
> > > aDACL: PACL;
> > > dDefaulted, dPresent: BOOL;
> > > Begin
> > > PSec :=
> GetServiceSD(DACL_SECURITY_INFORMATION);
> > > Try
> > > //ConvertSDtoAbsolute(pSec);
> > >
> Win32Check(GetSecurityDescriptorDacl(pSec,
> > dPresent,
> > > aDACL, dDefaulted));
> > > If Not dPresent Then Exit;
> > > pAccessList := Nil; Count := 0;
> > > J := GetExplicitEntriesFromAcl(aDacl^,
> Count,
> > > pAccessList);
> dolzhen peredat1 pointer na -> Count
> If J <> ERROR_SUCCESS Then // <===
> Здесь происходит трабла. Возвращаемый код
> // равен ошибке 87, что
> означает "Параметр задан неверно"
> ---
> > В Delphi функция задана вот так: >
> function GetExplicitEntriesFromAclA(var pacl: ACL; var
> pcCountOfExplicitEntries: ULONG;
> pListOfExplicitEntries: PEXPLICIT_ACCESS_A): DWORD;
> stdcall;
> ---
> То есть получается, что pcCountOfExplicitEntries толкается > в стек как указатель на Count, поскольку VAR. > Что делать, пока не знаю. > Изтрахался уже ;-)))))
Pochemuto pAccessList - zadeclarirovan kak pointer,
a Count - kak DWORD? Tebe ne kazhetsia chto Count dolzhen byt pointer to DWORD?
Count: DWORD;
pAccessList: PEXPLICIT_ACCESS_A;
|
|
|