GetProcessMemoryInfo-Funktion (psapi.h)

Ruft Informationen zur Speicherauslastung des angegebenen Prozesses ab.

Syntax

BOOL GetProcessMemoryInfo(
  [in]  HANDLE                   Process,
  [out] PPROCESS_MEMORY_COUNTERS ppsmemCounters,
  [in]  DWORD                    cb
);

Parameter

[in] Process

Ein Handle für den Prozess. Das Handle muss über das PROCESS_QUERY_INFORMATION - oder PROCESS_QUERY_LIMITED_INFORMATION-Zugriffsrecht verfügen. Weitere Informationen finden Sie unter Prozesssicherheit und Zugriffsrechte.

Windows Server 2003 und Windows XP: Das Handle muss über die Zugriffsrechte PROCESS_QUERY_INFORMATION und PROCESS_VM_READ verfügen.

[out] ppsmemCounters

Ein Zeiger auf die PROCESS_MEMORY_COUNTERS-, PROCESS_MEMORY_COUNTERS_EX- oder PROCESS_MEMORY_COUNTERS_EX2-Struktur , die Informationen zur Speicherauslastung des Prozesses empfängt.

[in] cb

Die Größe der ppsmemCounters-Struktur in Bytes.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Ab Windows 7 und Windows Server 2008 R2 erstellt Psapi.h Versionsnummern für die PSAPI-Funktionen. Die PSAPI-Versionsnummer wirkt sich auf den Namen aus, der zum Aufrufen der Funktion und der Bibliothek verwendet wird, die ein Programm laden muss.

Wenn PSAPI_VERSION 2 oder höher ist, wird diese Funktion in Psapi.h als K32GetProcessMemoryInfo definiert und in Kernel32.lib und Kernel32.dll exportiert. Wenn PSAPI_VERSION 1 ist, wird diese Funktion in Psapi.h als GetProcessMemoryInfo definiert und in Psapi.lib exportiert und Psapi.dll als Wrapper, der K32GetProcessMemoryInfo aufruft.

Programme, die unter früheren Versionen von Windows sowie Windows 7 und höheren Versionen ausgeführt werden müssen, sollten diese Funktion immer als GetProcessMemoryInfo aufrufen. Um die korrekte Auflösung von Symbolen sicherzustellen, fügen Sie Dem TARGETLIBS-Makro Psapi.lib hinzu, und kompilieren Sie das Programm mit -DPSAPI_VERSION=1. Laden Sie Psapi.dll, um die dynamische Laufzeitverknüpfung zu verwenden.

Beispiele

Ein Beispiel finden Sie unter Sammeln von Speicherauslastungsinformationen für einen Prozess.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile psapi.h
Bibliothek Kernel32.lib unter Windows 7 und Windows Server 2008 R2; Psapi.lib (wenn PSAPI_VERSION=1) unter Windows 7 und Windows Server 2008 R2; Psapi.lib unter Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP
DLL Kernel32.dll unter Windows 7 und Windows Server 2008 R2; Psapi.dll (wenn PSAPI_VERSION=1) unter Windows 7 und Windows Server 2008 R2; Psapi.dll unter Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP

Weitere Informationen

EnumProcesses

Speicherleistungsinformationen

PROCESS_MEMORY_COUNTERS

PROCESS_MEMORY_COUNTERS_EX

PSAPI-Funktionen

Verarbeiten von Speicherauslastungsinformationen