Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Непонятки с LogonUser [D4, NT4]


ShaH ©   (2002-02-13 12:46:00) 

В хелпе про функцию LogonUser про параметр hToken написано следующее :
PHANDLE phToken // pointer to variable to receive token handle

Если в нее пытаться передать переменную hToken типа PHANDLE Делфа говорит :
Types of actual and formal var parameters must be identical

Зато если передаем hToken^ - все прокатывает, однако иногда начинают сыпаться Access Violation"ы в advapi32.dll

Все работает нормально если hToken имеет тип DWORD

Что-то я совсем запутался. Кому верить хелпу или глазам ???


ShaH   (2002-02-13 15:34:00) [1]

Спасибо, я уже разобрался, просто раза 2 за день приходится из Builder"а на Delphi пересаживаться, вот и стормозил, не посмотрел как функция переопределена.

Сорри :-)


McSimm   (2002-02-13 15:13:00) [2]

Чтобы не смущать компилятор, hToken надо описать как THandle
Его же потом и использовать:
CloseHandle(hToken), CreateProcessAsUser(hToken ...

А написано так потому, что hToken передается в функцию как var, для возврата в нем значения.
Varв Делфи - всегда указатель.

Так что никакой ошибки в документации нет.


Наверх

Титульная страница Поиск, карта сайта Написать письмо