Главная страница
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.042 c
14-1097939379
Луарвик
2004-10-16 19:09
2004.11.07
Обитель зла: музон


4-1096690969
MaxN
2004-10-02 08:22
2004.11.07
разрешение экрана


1-1098292996
Dr. Genius
2004-10-20 21:23
2004.11.07
Шрифт MessageBox’ов и InputBox’ов


4-1096702632
Comp
2004-10-02 11:37
2004.11.07
TOOLBAR


1-1098863309
aap
2004-10-27 11:48
2004.11.07
Как по имени класа найти компонент.