Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.07;
Скачать: CL | DM;

Вниз

Active Directory и функция ADsGetObject   Найти похожие ветки 

 
Yr2   (2004-10-22 21:14) [0]

Мастера, кто-нибудь работал с MS Active Directory из Delphi?
Все функции работы с Active Dir находятся в C:\WINNT\system32\activeds.dll (для Windows 2000); интерфейсы описываются в activeds.tlb. Но вся работа начинается с функции ADsGetObject, которая в MSDN_е описывается только для Cи (и есть вариант для бейсика). Пытаюсь использовать эту функцию в Delphi следующим образом:
объявляю как

function ADsGetObject(
 lpszPathName : LPWSTR;
 riid         : TGUID;
 var ppObject
                     ): HRESULT; stdcall; external "ActiveDs.dll";

причем в документации на Си она выглядит так:

HRESULT ADsGetObject(
 LPWSTR lpszPathName,
 REFIID riid,
 VOID** ppObject
);


и в результате запуска она всегда мне возвращает ошибку (т.е. ненулевое значение)...
может быть такое, что функция ДЛЛ-ки вообще не предназначена для запуска из Delphi??? (это мне такое мнение высказал один сотрудник)
А в общем, мне нужно получать параметры пользователей из Active Dir.


 
Yr2   (2004-10-22 22:15) [1]

вот елки... а все дело было в том, что ставить нужно не stdcall, а safecall.


 
Юрий Зотов ©   (2004-10-22 22:25) [2]

> может быть такое, что функция ДЛЛ-ки вообще не предназначена
> для запуска из Delphi???

А разве функция DLL знает, откуда ее вызывают? Не знает, и ей это глубоко по барабану.

Ее вызывают из двоичного кода, а каким уж там компилятором он был получен - какая разница? Лишь бы вызов был правильным, вот и все.



Страницы: 1 вся ветка

Текущий архив: 2004.11.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.029 c
1-1098797234
gonzales
2004-10-26 17:27
2004.11.07
Перехват нажатия на кнопку мыши


14-1098185744
Ilya____
2004-10-19 15:35
2004.11.07
GetFileSize


8-1088581377
clampo
2004-06-30 11:42
2004.11.07
grahic analyzer


1-1098041341
Jetus
2004-10-17 23:29
2004.11.07
Как сохранить иконку?


1-1098742503
Змей
2004-10-26 02:15
2004.11.07
Showmessage()