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

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


В C она объявлена как

BOOL LookupPrivilegeName(
    LPCTSTR lpSystemName, 
    PLUID lpLuid, 
    LPTSTR lpName, 
    LPDWORD cbName
    );


Обратите внимание, что второй параметр является указателем на LUID, а не непосредственным значением LUID. Это, кстати, объясняет, почему выдается ошибка о том, что привилегия не существует.

С другой стороны, третий параметр является указателем на строку, что эквивалентно просто Pchar (не var Pchar) в Delphi. Поэтому правильным объявлением функции в Delphi будет

LookupPrivilegeName(lpSystem:Pchar; var LUID:Int64; lpName:Pchar; var cbName:Cardinal);
-- Alex Fedotov
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.