Обратите внимание на содержимое раздела
HKEY_LOCAL_MACHINE\HARDWARE\RESOURCEMAP\System Resources\Physical Memory
и
HKEY_LOCAL_MACHINE\HARDWARE\RESOURCEMAP\System Resources\Reserved
Данные насколько я помню должны считываться оттуда.
Denisoff, немного поэксперементировал и выявил что:
1)На 32 разрядных системах не отображается доступная память если она не имеет разницы с количеством установленной памяти
2)на 64 разрядных системах как правило отображаются оба параметра,при условии что установленной памяти не менее 4 гб.
Как управлять самостятельно этим счастьем с отображением параметров доступной памяти пока не разобрался,так что если у вас решение будет раньше-прошу отписаться.
Мне так же будет интересно знать.
Запись о доступной памяти появляется только если ее размер меньше, чем количество установленной памяти. В Вашем случае три гигабайта установлено и три доступно.