Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.13;
Скачать: CL | DM;

Вниз

WNetEnumResource и размер буфера   Найти похожие ветки 

 
learner ©   (2006-07-22 03:56) [0]

Во многих примерах (из интернета) использования функции WNetEnumResource
авторы статей определяют необходимый размер буфера так:
NetResult:=WNetEnumResource(NetHandle, aCount, NetResources, aSize);
if NetResult=ERROR_MORE_DATA then
begin
 BufSize:=aSize;
 ReallocMem(NetResources, BufSize);
 Continue;
end;
А в Хелпе написано, что я не могу поступать таким образом и рекомендуют
заранее задать размер 16 KB. Как правильно ?


 
KilkennyCat ©   (2006-07-22 08:37) [1]

> А в Хелпе написано, что я не могу поступать таким образом
> и рекомендуют
> заранее задать размер 16 KB.


Там такого я не нашел. Нашел следующее:
An application cannot set the lpBuffer parameter to NULL and retrieve the required buffer size from the lpBufferSize parameter. Instead, the application should allocate a buffer of a reasonable size — 16 kilobytes (K) is typical — and use the value of lpBufferSize for error detection.
и следующее:
конецформыначалоформыlpBufferSize
[in, out] Long pointer to a variable that specifies the size, in bytes, of the lpBuffer parameter. If the buffer is too small to receive even one entry, this parameter receives the required size of the buffer.


 
learner ©   (2006-07-22 09:14) [2]

Спасибо.


 
KilkennyCat ©   (2006-07-22 09:17) [3]

То есть, как я понял, двойной вызов функции обеспечит правильную работу. Первым вызовом мы определимся с размером буфера.


 
Ketmar ©   (2006-07-22 10:34) [4]

ага. некоторые функции API работают таким вот... хм... "альтернативным" образом. %-)



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

Текущий архив: 2006.08.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.061 c
15-1153407804
UMU
2006-07-20 19:03
2006.08.13
Генератор отчетов


2-1153840378
0bsid
2006-07-25 19:12
2006.08.13
Как получить ответил от выполненной команды winExec() ?


2-1153806554
VitV
2006-07-25 09:49
2006.08.13
interbase+delphi - хэширование паролей


2-1153656846
Варяг
2006-07-23 16:14
2006.08.13
Интересный глюк с именем таблицы


6-1143428539
Denisac
2006-03-27 07:02
2006.08.13
Кодировка в сообщении