Форум: "Основная";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.032 c