Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

NetGetJoinInformation - портирование функции [Win2k]


BiN ©   (2003-12-17 11:38:00) 

Всем привет!

Проблема здесь не про сети, так что ОГРОМНАЯ просьба не пинать меня в другой форум.
Дело в том, что при вызове функции NetGetJoinInformation и дальнейшем освобождении памяти с помощью NetApiBufferFree программа вылетает во всеми нами любимый Access violation.

Может я что не правильно объявил, хотя результат функции вроде корректный. Вот кусок моего кода:

type
NETSETUP_JOIN_STATUS = DWORD;
PNETSETUP_JOIN_STATUS = ^NETSETUP_JOIN_STATUS;

function NetApiBufferFree(Buffer:Pointer):DWORD ;stdcall; external NetApi32 name "NetApiBufferFree";

function NetGetJoinInformation(lpServer:LPCWSTR;
lpNameBuffer:PLPWSTR;
BufferType:PNETSETUP_JOIN_STATUS):DWORD; stdcall; external NetApi32 name "NetGetJoinInformation";

procedure MyProc;
var
Buffer:PLPWSTR;
ntStatus:NETSETUP_JOIN_STATUS;
dwResult:DWORD;
begin
dwResult:=NetGetJoinInformation(nil, Buffer, @ntStatus);
if dwResult = NERR_SUCCESS {0} then
begin
//Buffer^ - содержит в моем случае имя домена
end;
NetApiBufferFree(Buffer);//<<<<<< Ругается и вылетает
end;

всем заранее спасибо


BiN   (2003-12-17 11:57:00) [1]

Вопрос закрыт - всем спасибо


BiN   (2003-12-17 11:40:00) [2]

вдогонку:
В MSDN эта функция объявлена, как

NET_API_STATUS NetGetJoinInformation(
LPCWSTR lpServer,
LPWSTR* lpNameBuffer,
PNETSETUP_JOIN_STATUS BufferType
);

см. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/netmgmt/netmgmt/netgetjoininformation.asp


Наверх

Титульная страница Поиск, карта сайта Написать письмо