Funzione QueryWorkingSetEx (psapi.h)
Recupera informazioni estese sulle pagine in corrispondenza di indirizzi virtuali specifici nello spazio indirizzi del processo specificato.
Sintassi
BOOL QueryWorkingSetEx(
[in] HANDLE hProcess,
[in, out] PVOID pv,
[in] DWORD cb
);
Parametri
[in] hProcess
Handle per il processo. L'handle deve avere il diritto di accesso PROCESS_QUERY_INFORMATION . Per altre informazioni, vedere Sicurezza dei processi e diritti di accesso.
[in, out] pv
Puntatore a una matrice di strutture PSAPI_WORKING_SET_EX_INFORMATION . All'input, ogni elemento nella matrice specifica un indirizzo virtuale di interesse. Nell'output, ogni elemento nella matrice riceve informazioni sulla pagina virtuale corrispondente.
[in] cb
Dimensioni del buffer pv , in byte.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
A differenza della funzione QueryWorkingSet , limitata al working set del processo di destinazione, la funzione QueryWorkingSetEx può essere usata per eseguire query su indirizzi non inclusi nel working set di processi, ma che fanno ancora parte del processo, ad esempio AWE e pagine di grandi dimensioni.
A partire da Windows 7 e Windows Server 2008 R2, Psapi.h stabilisce i numeri di versione per le funzioni PSAPI. Il numero di versione PSAPI influisce sul nome usato per chiamare la funzione e la libreria che un programma deve caricare.
Se PSAPI_VERSION è 2 o versione successiva, questa funzione viene definita come K32QueryWorkingSetEx in Psapi.h ed esportata in Kernel32.lib e Kernel32.dll. Se PSAPI_VERSION è 1, questa funzione viene definita come QueryWorkingSetEx in Psapi.h ed esportata in Psapi.lib e Psapi.dll come wrapper che chiama K32QueryWorkingSetEx.
I programmi che devono essere eseguiti in versioni precedenti di Windows e Windows 7 e versioni successive devono sempre chiamare questa funzione come QueryWorkingSetEx. Per garantire la risoluzione corretta dei simboli, aggiungere Psapi.lib alla macro TARGETLIBS e compilare il programma con "–DPSAPI_VERSION=1". Per usare il collegamento dinamico in fase di esecuzione, caricare Psapi.dll.
Esempio
Per un esempio, vedere Allocazione della memoria da un nodo NUMA.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista, Windows XP Professional x64 Edition [solo app desktop] |
Server minimo supportato | Windows Server 2008, Windows Server 2003 con SP1 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | psapi.h |
Libreria | Kernel32.lib in Windows 7 e Windows Server 2008 R2; Psapi.lib (se PSAPI_VERSION=1) in Windows 7 e Windows Server 2008 R2; Psapi.lib in Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP |
DLL | Kernel32.dll in Windows 7 e Windows Server 2008 R2; Psapi.dll (se PSAPI_VERSION=1) in Windows 7 e Windows Server 2008 R2; Psapi.dll in Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP |