Да, Вы правы, опять я неверно написал:
LookupPrivilegeName(lpSystem Pchar; var LUID Int64; lpName Pchar; var cbName Cardinal);
Огромное спасибо, более-менее разобрался, немного заработало. Проблема еще была и в том, что функция возвращает только те привелегии, которые установлены (я так понял) — оказалось, их всего четыре, всего GetTokenInformation возвращал информацию о 17 привелегиях. А на тех, которые не установлены, LookupPrivilegeName возвращал ошибку, при чем ошибку о несуществующей привелегии. Я просто убал exception.
А Ваш пример под С — показывает все привелегии. Я сравнил оба варианта — насколько мне позволяет знание обоих языков программирования — вроде те же способы вызова функций, за исключением обработки ошибок (почему я их убрал, я написал выше).
Теперь вопрос в том, как увидеть ВСЕ привелегии, а не только те, что разрешены?