Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 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



Страницы: 1 вся ветка

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

Наверх




Память: 0.45 MB
Время: 0.006 c
14-81047
undersun
2002-03-13 17:21
2002.04.25
Как выбрать устройство через которое надо соед. по TCP/IP


4-81118
SerVS - S
2002-01-29 14:13
2002.04.25
Как используя API выключить ActiveDesktop


1-80996
Chistyakov
2002-04-12 18:28
2002.04.25
RxTrayIcon


14-81077
dimich
2002-03-19 08:54
2002.04.25
Проблема с ХР.


14-81038
lipskiy
2002-03-16 13:26
2002.04.25
Люди!!! Помогите! Комп одурел совсем - сам RESET нажимает! Что делать?!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский