Сбой GetPhysicallyInstalledSystemMemory из kernel32.dll в приложении x64 c# - PullRequest
0 голосов
/ 30 апреля 2020

Я создаю приложение WPF в visual studio 2017. Решение состоит из нескольких проектов. Один из этих проектов, в частности проект библиотеки классов (. Net Standard 2.0), использует функцию GetPhysicallyInstalledSystemMemory из kernel32.dll через pinvoke следующим образом:

[DllImport("kernel32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool GetPhysicallyInstalledSystemMemory(out long totalMemoryInKilobytes);

Это возвращает ожидаемый результат, пока я установите платформу для проекта «Любой процессор». Если я установлю его на «x64», как это было сделано со всеми другими проектами в решении (потому что я хочу нацелить x64), функции GetPhysicallyInstalledSystemMemory вернут false, а выходная переменная «totalMemoryInKilobytes» будет 0.

Что дает ? Любая помощь очень ценится.

...