![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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