Форум: "Сети";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];




Вниз

проблемка с NetServerEnum 


AlexRush   (2002-02-14 20:21) [0]

Есть такой код:

TYPE
_SERVER_INFO_101 = record
sv101_platform_id:DWORD;
sv101_name:PWideChar;
sv101_version_major:DWORD;
sv101_version_minor:DWORD;
sv101_type:DWORD;
sv101_comment:PWideChar;
end;
P_SERVER_INFO_101 = ^_SERVER_INFO_101;
_SERVER_INFO_101ARRAY = array of _SERVER_INFO_101;
.......
CONST
SV_TYPE_WORKSTATION = $00000001;
........
function NetServerEnum(
servername:PWideChar;
level:DWORD;
bufptr:PBYTE;
prefmaxlen:DWORD;
entriesread:LPDWORD;
totalentries:LPDWORD;
servertype:DWORD;
domain:PWideChar;
resume_handle:LPDWORD
):NET_API_STATUS;stdcall;
external NetApi32 name "NetServerEnum";

........
procedure TForm1.FormCreate(Sender: TObject);
var pwc:PWideChar;
e,te,eid:DWORD;
i:integer;
data:_SERVER_INFO_101ARRAY;
begin
SetLength(data,1024);
ZeroMemory(@data[0],length(data)*sizeof(data[0]));

for i:=0 to length(data)-1 do
begin
GetMem(data[i].sv101_name,100);
StringToWideChar("test NAME value",data[i].sv101_name,100);
GetMem(data[i].sv101_comment,100);
StringToWideChar("test COMENT value",data[i].sv101_comment,100);
end;


eid:=NetServerEnum(nil,
101,
@data[0],
length(data)*sizeof(data[0]),
@e,
@te,
SV_TYPE_WORKSTATION,
nil,
0);

if eid=0
then begin
if te>0
then begin
GetMem(pwc,100);
StringToWideChar("NEXT SERVER:",pwc,100);
for i:=0 to e-1 do
MessageBoxW(0,data[i].sv101_name,pwc,0);
ShowMessage("Count: "+IntToStr(i));
Dispose(pwc);
end;
end
else MessageBoxA(0,PChar(IntToStr(eid)),PChar("ERROR CODE:"),$10);

for i:=0 to length(data)-1 do
begin
Dispose(data[i].sv101_name);
Dispose(data[i].sv101_comment);
end;

SetLength(data,0);
end;

NetServerEnum возвращает $0 - т.е. все нормальнльно
te,e - колво рабочих станций в моем сегменте

Вот только имена sv101_name не устанавливаются.
Подскажите, в чем трабл.



VuDZ   (2002-02-14 22:14) [1]

посмотри в дебагере значение _name, может что ни так, потому что код выглядит верно, насколько мои зная делфи позволяют судить об этом...
или без лишних выкрутасов попробуй выводить всё это через OutputDebugStringW




Форум: "Сети";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.019 c
1-80896           Zhan                  2002-04-14 19:21  2002.04.25  
Пример иссходника школьного теста на Delphi!, Помогите, плз...


1-80928           Абдурашид             2002-04-11 10:59  2002.04.25  
Помогите сделать


14-81062          FELLINI               2002-03-20 07:24  2002.04.25  
Заблокировать программу


3-80756           Timka                 2002-04-02 08:59  2002.04.25  
прошу подсказку


1-81002           VS                    2002-04-10 12:20  2002.04.25  
Как можно написать что-то типа Create Installer 2000 и подобные