Главная страница
    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.44 MB
Время: 0.006 c
3-80819
merr
2002-04-05 14:13
2002.04.25
Базы-Paradox


3-80776
Labert
2002-04-04 13:19
2002.04.25
TQuery.Filter не работает


3-80825
semion
2002-04-02 17:27
2002.04.25
Где взять компоненты Seagate Crystal Reports для Delphi 6?


7-81093
VS
2002-01-31 09:35
2002.04.25
Как при поиске файла на диске переключиться на следующий диск


3-80735
ph
2002-04-03 12:01
2002.04.25
Сохранение изменений в бд.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский