Re[5]: Получение списка привелегий пользователя
От: bigdaddy  
Дата: 15.05.03 05:41
Оценка:
Здравствуйте, Alex Fedotov, Вы писали:

AF>Ну а как LookupPrivilegeName объявлена в Delphi?


Сорри, неправильно свой код привел:

  ucPrivilegeName:array[0..255] of char;
  PrivilegeNameSize:cardinal;

  PrivilegeNameSize:=sizeof(ucPrivilegeName);
  if not  LookupPrivilegeName( nil, buffer.Privileges[i].Luid, PChar(@ucPrivilegeName), PrivilegeNameSize) then
      begin
           raise Exception.Create(SysErrorMessage(GetLastError));
      end;


А функция объявлена так: LookupPrivilegeName(lpSystem Pchar; LUID Int64; var lpName Pchar; var cbName Cardinal);

пробовал и так:


ucPrivilegeName:   Pchar;
PrivilegeNameSize: cardinal;

PrivilegeNameSize:=0; //sizeof(PChar) - как-то не очень имеет смысл, по-моему... Хотя тоже пробовал :-)


  if not  LookupPrivilegeName( nil, buffer.Privileges[i].Luid, ucPrivilegeName, PrivilegeNameSize) then
      begin
           raise Exception.Create(SysErrorMessage(GetLastError));
      end;


Все время та же лабуда — "указанная привилегия не существует". Я нутром чуваствую, что проблема в типах, но как подобрать??? Хрен его знает...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.