Главная страница
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.038 c
14-1098218341
k@rt
2004-10-20 00:39
2004.11.07
Нет звука в XP


1-1098197457
Anton_G
2004-10-19 18:50
2004.11.07
глиф с альфа-каналом (полупрозрачность)


1-1098429338
Silla
2004-10-22 11:15
2004.11.07
Реестр


10-1056462721
HermitAlex
2003-06-24 17:52
2004.11.07
Динамическое наполнений DataSet в трехзвенном приложении


3-1097232652
SergP.
2004-10-08 14:50
2004.11.07
Строка подключения для FOX(Dbase) через Microsoft.Jet.OLEDB.4.0