Главная страница
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.027 c
1-1097967106
ranetka
2004-10-17 02:51
2004.11.07
Диманический массив как поле класса


3-1097300447
softmaster
2004-10-09 09:40
2004.11.07
ВЫбор записей


1-1098708860
barbaris
2004-10-25 16:54
2004.11.07
Hint в зависимости от положения курсора в строках StringGrid


3-1097199322
Black
2004-10-08 05:35
2004.11.07
Как узнать какая строка в DBGrid е выбрана?


4-1096621394
alexeew
2004-10-01 13:03
2004.11.07
обмен данными между приложениями