Функция GetProcessMemoryInfo (psapi.h)
Извлекает сведения об использовании памяти указанным процессом.
Синтаксис
BOOL GetProcessMemoryInfo(
[in] HANDLE Process,
[out] PPROCESS_MEMORY_COUNTERS ppsmemCounters,
[in] DWORD cb
);
Параметры
[in] Process
Дескриптор процесса. Дескриптор должен иметь право доступа PROCESS_QUERY_INFORMATION или PROCESS_QUERY_LIMITED_INFORMATION . Дополнительные сведения см. в разделе Обработка прав на безопасность и доступ.
Windows Server 2003 и Windows XP: Дескриптор должен иметь права доступа PROCESS_QUERY_INFORMATION и PROCESS_VM_READ .
[out] ppsmemCounters
Указатель на структуру PROCESS_MEMORY_COUNTERS, PROCESS_MEMORY_COUNTERS_EX или PROCESS_MEMORY_COUNTERS_EX2 , получающую сведения об использовании памяти процесса.
[in] cb
Размер структуры ppsmemCounters в байтах.
Возвращаемое значение
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Начиная с Windows 7 и Windows Server 2008 R2, Psapi.h устанавливает номера версий для функций PSAPI. Номер версии PSAPI влияет на имя, используемое для вызова функции, и библиотеку, которую должна загрузить программа.
Если PSAPI_VERSION 2 или больше, эта функция определяется как K32GetProcessMemoryInfo в Psapi.h и экспортируется в Kernel32.lib и Kernel32.dll. Если PSAPI_VERSION равно 1, эта функция определяется как GetProcessMemoryInfo в Psapi.h и экспортируется в Psapi.lib и Psapi.dll в качестве оболочки, вызывающей K32GetProcessMemoryInfo.
Программы, которые должны выполняться в более ранних версиях Windows, а также Windows 7 и более поздних версиях, всегда должны вызывать эту функцию как GetProcessMemoryInfo. Чтобы обеспечить правильное разрешение символов, добавьте Psapi.lib в макрос TARGETLIBS и скомпилируйте программу с параметром -DPSAPI_VERSION=1. Чтобы использовать динамическое связывание во время выполнения, загрузите Psapi.dll.
Примеры
Пример см. в разделе Сбор сведений об использовании памяти для процесса.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | psapi.h |
Библиотека | Kernel32.lib в Windows 7 и Windows Server 2008 R2; Psapi.lib (если PSAPI_VERSION=1) в Windows 7 и Windows Server 2008 R2; Psapi.lib в Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP |
DLL | Kernel32.dll в Windows 7 и Windows Server 2008 R2; Psapi.dll (если PSAPI_VERSION=1) в Windows 7 и Windows Server 2008 R2; Psapi.dll в Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP |