![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
PhysicalMemory
Kerk © (2003-12-18 11:44:00)
Как определить размер доступной физической памяти в байтах?
ALEIIIKA (2003-12-26 10:36:00) [1]
У меня правильно определяет :(
Kerk (2003-12-24 12:59:00) [2]
GlobalMemoryStatus возвращает на полмегабайта меньше, чем доступно для чтения из устройства :(
кто виноват и что делать?
ALEIIIKA (2003-12-23 09:33:00) [3]
Кидаешь на форму, Label и Timer, в обработчике OnTimer пишешь приведенный ниже код, вот и весь пример.
var
MS: TMemoryStatus;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
GlobalMemoryStatus(MS);
Label2.Caption := Format("%4.3f Бт", [MS.dwAvailPhys])
end;
panov (2003-12-22 23:11:00) [4]
>Trad (22.12.03 23:00) [11]
Лучше не торопись, не лезь в такие дебри. Основы усвой хорошо...
Trad (2003-12-22 23:00:00) [5]
извините, за , наверное, тупейший вопрос, но допустим
label1.Caption:=GlobalMemoryStatus;
должно работать? у меня не работает. как вооюще пользоваться GlobalMemoryStatus? в хелпе ничего не нашёл.
Kerk (2003-12-22 10:41:00) [6]
2 Игорь Шевченко ©
thanks
Игорь Шевченко (2003-12-20 17:42:00) [7]
Kerk © (20.12.03 12:11)
Между этими двумя функциями нету разницы. В NT-системах вызов MapViewOfFile служит оберткой для функции NtMapViewOfSection, так что вторую функцию можно смело использовать.
Kerk (2003-12-20 12:11:00) [8]
Игорь Шевченко, спасибо.
P.S. А все-таки как насчет Kerk © (18.12.03 14:32) [5]
Digitman (2003-12-18 16:50:00) [9]
> Игорь Шевченко
любопытно, что тот же Коберниченко ни словом нигде не обмолвился на сей счет
Игорь Шевченко (2003-12-18 16:43:00) [10]
> Как определить размер доступной физической памяти в байтах?
GlobalMemoryStatus
Kerk (2003-12-18 14:32:00) [11]
Кстати, я вместо NtMapViewOfSection() использую MapViewOfFile
Поиск в инете показал, что кто-то использует NtMapViewOfSection, кто-то MapViewOfFile...
так между ними в данном случае разница есть?
Digitman (2003-12-18 12:20:00) [12]
хотя ... не решит это задачи, наверно ... MaximumSize для этой секции всегда будет равен 4Гб
думаю, можно в цикле с шагом , к примеру, 1mb отображать участки секции на ВАП тек.процесса, начиная со смещения 0
как только NtMapViewOfSection() вернет специфический отказ, цикл прекращается, фиксируя тем самым верхюю границу диапазон доступного ФАП
Digitman (2003-12-18 12:12:00) [13]
см. NtQuerySectionInfo()
Kerk (2003-12-18 11:57:00) [14]
Digitman © (18.12.03 11:54) [1]
> зачем ?
;)
Работаю с устройтсвом \device\PhysicalMemory используя NtOpenSection (ring3, админ)...
Размер памяти мне нужен, чтобы узнать диапазон доступных адресов.
Digitman (2003-12-18 11:54:00) [15]
зачем ?