|  psapi.h (5.2.3790.3959-Windows 5.0)  |   |  psapi.h (6.0.6001.18000-Windows 6.0)  | 
 
       |   |  | 
      | skipping to change at line 32 |   | skipping to change at line 32 | 
      | #define _PSAPI_H_ |   | #define _PSAPI_H_ | 
       |   |  | 
      | #if _MSC_VER > 1000 |   | #if _MSC_VER > 1000 | 
      | #pragma once |   | #pragma once | 
      | #endif |   | #endif | 
       |   |  | 
      | #ifdef __cplusplus |   | #ifdef __cplusplus | 
      | extern "C" { |   | extern "C" { | 
      | #endif |   | #endif | 
       |   |  | 
       | 
       |   | #define LIST_MODULES_DEFAULT 0x0  // This is the default one app would get witho | 
       |   | ut any flag. | 
       |   | #define LIST_MODULES_32BIT   0x01  // list 32bit modules in the target process. | 
       |   | #define LIST_MODULES_64BIT   0x02  // list all 64bit modules. 32bit exe will be  | 
       |   | stripped off. | 
       |   |  | 
       |   | // list all the modules | 
       |   | #define LIST_MODULES_ALL   (LIST_MODULES_32BIT | LIST_MODULES_64BIT) | 
       |   |                                                                                  | 
      | BOOL |   | BOOL | 
      | WINAPI |   | WINAPI | 
       | 
      | EnumProcesses( |   | EnumProcesses ( | 
      |     DWORD * lpidProcess, |   |     __out_bcount(cb) DWORD * lpidProcess, | 
      |     DWORD   cb, |   |     __in DWORD cb, | 
      |     DWORD * cbNeeded |   |     __out LPDWORD lpcbNeeded | 
      |     ); |   |     ); | 
       |   |  | 
      | BOOL |   | BOOL | 
      | WINAPI |   | WINAPI | 
      | EnumProcessModules( |   | EnumProcessModules( | 
       | 
      |     HANDLE hProcess, |   |     __in  HANDLE hProcess, | 
      |     HMODULE *lphModule, |   |     __out_bcount(cb) HMODULE *lphModule, | 
      |     DWORD cb, |   |     __in  DWORD cb, | 
      |     LPDWORD lpcbNeeded |   |     __out LPDWORD lpcbNeeded | 
       |   |     ); | 
       |   |  | 
       |   | BOOL | 
       |   | WINAPI | 
       |   | EnumProcessModulesEx( | 
       |   |     __in  HANDLE hProcess, | 
       |   |     __out_bcount(cb)  HMODULE *lphModule, | 
       |   |     __in  DWORD cb, | 
       |   |     __out  LPDWORD lpcbNeeded, | 
       |   |     __in  DWORD dwFilterFlag | 
      |     ); |   |     ); | 
       |   |  | 
      | DWORD |   | DWORD | 
      | WINAPI |   | WINAPI | 
      | GetModuleBaseNameA( |   | GetModuleBaseNameA( | 
       | 
      |     HANDLE hProcess, |   |     __in HANDLE hProcess, | 
      |     HMODULE hModule, |   |     __in_opt HMODULE hModule, | 
      |     LPSTR lpBaseName, |   |     __out_ecount(nSize) LPSTR lpBaseName, | 
      |     DWORD nSize |   |     __in DWORD nSize | 
      |     ); |   |     ); | 
       |   |  | 
      | DWORD |   | DWORD | 
      | WINAPI |   | WINAPI | 
      | GetModuleBaseNameW( |   | GetModuleBaseNameW( | 
       | 
      |     HANDLE hProcess, |   |     __in HANDLE hProcess, | 
      |     HMODULE hModule, |   |     __in_opt HMODULE hModule, | 
      |     LPWSTR lpBaseName, |   |     __out_ecount(nSize) LPWSTR lpBaseName, | 
      |     DWORD nSize |   |     __in DWORD nSize | 
      |     ); |   |     ); | 
       |   |  | 
      | #ifdef UNICODE |   | #ifdef UNICODE | 
      | #define GetModuleBaseName  GetModuleBaseNameW |   | #define GetModuleBaseName  GetModuleBaseNameW | 
      | #else |   | #else | 
      | #define GetModuleBaseName  GetModuleBaseNameA |   | #define GetModuleBaseName  GetModuleBaseNameA | 
      | #endif // !UNICODE |   | #endif // !UNICODE | 
       |   |  | 
      | DWORD |   | DWORD | 
      | WINAPI |   | WINAPI | 
      | GetModuleFileNameExA( |   | GetModuleFileNameExA( | 
       | 
      |     HANDLE hProcess, |   |     __in HANDLE hProcess, | 
      |     HMODULE hModule, |   |     __in_opt HMODULE hModule, | 
      |     LPSTR lpFilename, |   |     __out_ecount(nSize) LPSTR lpFilename, | 
      |     DWORD nSize |   |     __in DWORD nSize | 
      |     ); |   |     ); | 
       |   |  | 
      | DWORD |   | DWORD | 
      | WINAPI |   | WINAPI | 
      | GetModuleFileNameExW( |   | GetModuleFileNameExW( | 
       | 
      |     HANDLE hProcess, |   |     __in HANDLE hProcess, | 
      |     HMODULE hModule, |   |     __in_opt HMODULE hModule, | 
      |     LPWSTR lpFilename, |   |     __out_ecount(nSize) LPWSTR lpFilename, | 
      |     DWORD nSize |   |     __in DWORD nSize | 
      |     ); |   |     ); | 
       |   |  | 
      | #ifdef UNICODE |   | #ifdef UNICODE | 
      | #define GetModuleFileNameEx  GetModuleFileNameExW |   | #define GetModuleFileNameEx  GetModuleFileNameExW | 
      | #else |   | #else | 
      | #define GetModuleFileNameEx  GetModuleFileNameExA |   | #define GetModuleFileNameEx  GetModuleFileNameExA | 
      | #endif // !UNICODE |   | #endif // !UNICODE | 
       |   |  | 
      | typedef struct _MODULEINFO { |   | typedef struct _MODULEINFO { | 
      |     LPVOID lpBaseOfDll; |   |     LPVOID lpBaseOfDll; | 
      |     DWORD SizeOfImage; |   |     DWORD SizeOfImage; | 
      |     LPVOID EntryPoint; |   |     LPVOID EntryPoint; | 
      | } MODULEINFO, *LPMODULEINFO; |   | } MODULEINFO, *LPMODULEINFO; | 
       |   |  | 
      | BOOL |   | BOOL | 
      | WINAPI |   | WINAPI | 
      | GetModuleInformation( |   | GetModuleInformation( | 
       | 
      |     HANDLE hProcess, |   |     __in HANDLE hProcess, | 
      |     HMODULE hModule, |   |     __in HMODULE hModule, | 
      |     LPMODULEINFO lpmodinfo, |   |     __out LPMODULEINFO lpmodinfo, | 
      |     DWORD cb |   |     __in DWORD cb | 
      |     ); |   |     ); | 
       |   |  | 
      | BOOL |   | BOOL | 
      | WINAPI |   | WINAPI | 
      | EmptyWorkingSet( |   | EmptyWorkingSet( | 
       | 
      |     HANDLE hProcess |   |     __in HANDLE hProcess | 
      |     ); |   |     ); | 
       |   |  | 
       | 
       |   | // | 
       |   | // Working set information structures. All non-specified bits are reserved. | 
       |   | // | 
       |   |  | 
       |   | #if _MSC_VER >= 1200 | 
       |   | #pragma warning(push) | 
       |   | #endif | 
       |   | #pragma warning(disable:4201)   // unnamed struct | 
       |   | #pragma warning(disable:4214)   // bit fields other than int | 
       |   |  | 
       |   | typedef union _PSAPI_WORKING_SET_BLOCK { | 
       |   |     ULONG_PTR Flags; | 
       |   |     struct { | 
       |   |         ULONG_PTR Protection : 5; | 
       |   |         ULONG_PTR ShareCount : 3; | 
       |   |         ULONG_PTR Shared : 1; | 
       |   |         ULONG_PTR Reserved : 3; | 
       |   | #if defined(_WIN64) | 
       |   |         ULONG_PTR VirtualPage : 52; | 
       |   | #else | 
       |   |         ULONG_PTR VirtualPage : 20; | 
       |   | #endif | 
       |   |     }; | 
       |   | } PSAPI_WORKING_SET_BLOCK, *PPSAPI_WORKING_SET_BLOCK; | 
       |   |  | 
       |   | typedef struct _PSAPI_WORKING_SET_INFORMATION { | 
       |   |     ULONG_PTR NumberOfEntries; | 
       |   |     PSAPI_WORKING_SET_BLOCK WorkingSetInfo[1]; | 
       |   | } PSAPI_WORKING_SET_INFORMATION, *PPSAPI_WORKING_SET_INFORMATION; | 
       |   |  | 
       |   | typedef union _PSAPI_WORKING_SET_EX_BLOCK { | 
       |   |     ULONG_PTR Flags; | 
       |   |     struct { | 
       |   |         ULONG_PTR Valid : 1;        // The following fields are valid only if th | 
       |   | is bit is set | 
       |   |         ULONG_PTR ShareCount : 3; | 
       |   |         ULONG_PTR Win32Protection : 11; | 
       |   |         ULONG_PTR Shared : 1; | 
       |   |         ULONG_PTR Node : 6; | 
       |   |         ULONG_PTR Locked : 1; | 
       |   |         ULONG_PTR LargePage : 1; | 
       |   |     }; | 
       |   | } PSAPI_WORKING_SET_EX_BLOCK, *PPSAPI_WORKING_SET_EX_BLOCK; | 
       |   |  | 
       |   | typedef struct _PSAPI_WORKING_SET_EX_INFORMATION { | 
       |   |     PVOID VirtualAddress; | 
       |   |     PSAPI_WORKING_SET_EX_BLOCK VirtualAttributes; | 
       |   | } PSAPI_WORKING_SET_EX_INFORMATION, *PPSAPI_WORKING_SET_EX_INFORMATION; | 
       |   |  | 
       |   | #if _MSC_VER >= 1200 | 
       |   | #pragma warning(pop) | 
       |   | #else | 
       |   | #pragma warning(default:4214) | 
       |   | #pragma warning(default:4201) | 
       |   | #endif | 
       |   |                                                                                  | 
      | BOOL |   | BOOL | 
      | WINAPI |   | WINAPI | 
      | QueryWorkingSet( |   | QueryWorkingSet( | 
       | 
      |     HANDLE hProcess, |   |     __in HANDLE hProcess, | 
      |     PVOID pv, |   |     __out_bcount(cb) PVOID pv, | 
      |     DWORD cb |   |     __in DWORD cb | 
      |     ); |   |     ); | 
       |   |  | 
      | BOOL |   | BOOL | 
      | WINAPI |   | WINAPI | 
      | QueryWorkingSetEx( |   | QueryWorkingSetEx( | 
       | 
      |     HANDLE hProcess, |   |     __in HANDLE hProcess, | 
      |     PVOID pv, |   |     __out_bcount(cb) PVOID pv, | 
      |     DWORD cb |   |     __in DWORD cb | 
      |     ); |   |     ); | 
       |   |  | 
      | BOOL |   | BOOL | 
      | WINAPI |   | WINAPI | 
      | InitializeProcessForWsWatch( |   | InitializeProcessForWsWatch( | 
       | 
      |     HANDLE hProcess |   |     __in HANDLE hProcess | 
      |     ); |   |     ); | 
       |   |  | 
      | typedef struct _PSAPI_WS_WATCH_INFORMATION { |   | typedef struct _PSAPI_WS_WATCH_INFORMATION { | 
      |     LPVOID FaultingPc; |   |     LPVOID FaultingPc; | 
      |     LPVOID FaultingVa; |   |     LPVOID FaultingVa; | 
      | } PSAPI_WS_WATCH_INFORMATION, *PPSAPI_WS_WATCH_INFORMATION; |   | } PSAPI_WS_WATCH_INFORMATION, *PPSAPI_WS_WATCH_INFORMATION; | 
       |   |  | 
       | 
       |   | typedef struct _PSAPI_WS_WATCH_INFORMATION_EX { | 
       |   |     PSAPI_WS_WATCH_INFORMATION BasicInfo; | 
       |   |     ULONG_PTR FaultingThreadId; | 
       |   |     ULONG_PTR Flags;    // Reserved | 
       |   | } PSAPI_WS_WATCH_INFORMATION_EX, *PPSAPI_WS_WATCH_INFORMATION_EX; | 
       |   |                                                                                  | 
      | BOOL |   | BOOL | 
      | WINAPI |   | WINAPI | 
      | GetWsChanges( |   | GetWsChanges( | 
       | 
      |     HANDLE hProcess, |   |     __in HANDLE hProcess, | 
      |     PPSAPI_WS_WATCH_INFORMATION lpWatchInfo, |   |     __out_bcount(cb) PPSAPI_WS_WATCH_INFORMATION lpWatchInfo, | 
      |     DWORD cb |   |     __in DWORD cb | 
       |   |     ); | 
       |   |  | 
       |   | BOOL | 
       |   | WINAPI | 
       |   | GetWsChangesEx( | 
       |   |     __in HANDLE hProcess, | 
       |   |     __out_bcount_part(*cb, *cb) PPSAPI_WS_WATCH_INFORMATION_EX lpWatchInfoEx, | 
       |   |     __inout PDWORD cb | 
      |     ); |   |     ); | 
       |   |  | 
      | DWORD |   | DWORD | 
      | WINAPI |   | WINAPI | 
       | 
      | GetMappedFileNameW( |   | GetMappedFileNameW ( | 
      |     HANDLE hProcess, |   |     __in HANDLE hProcess, | 
      |     LPVOID lpv, |   |     __in LPVOID lpv, | 
      |     LPWSTR lpFilename, |   |     __out_ecount(nSize) LPWSTR lpFilename, | 
      |     DWORD nSize |   |     __in DWORD nSize | 
      |     ); |   |     ); | 
       |   |  | 
      | DWORD |   | DWORD | 
      | WINAPI |   | WINAPI | 
       | 
      | GetMappedFileNameA( |   | GetMappedFileNameA ( | 
      |     HANDLE hProcess, |   |     __in HANDLE hProcess, | 
      |     LPVOID lpv, |   |     __in LPVOID lpv, | 
      |     LPSTR lpFilename, |   |     __out_ecount(nSize) LPSTR lpFilename, | 
      |     DWORD nSize |   |     __in DWORD nSize | 
      |     ); |   |     ); | 
       |   |  | 
      | #ifdef UNICODE |   | #ifdef UNICODE | 
      | #define GetMappedFileName  GetMappedFileNameW |   | #define GetMappedFileName  GetMappedFileNameW | 
      | #else |   | #else | 
      | #define GetMappedFileName  GetMappedFileNameA |   | #define GetMappedFileName  GetMappedFileNameA | 
      | #endif // !UNICODE |   | #endif // !UNICODE | 
       |   |  | 
      | BOOL |   | BOOL | 
      | WINAPI |   | WINAPI | 
       | 
      | EnumDeviceDrivers( |   | EnumDeviceDrivers ( | 
      |     LPVOID *lpImageBase, |   |     __out_bcount(cb) LPVOID *lpImageBase, | 
      |     DWORD cb, |   |     __in DWORD cb, | 
      |     LPDWORD lpcbNeeded |   |     __out LPDWORD lpcbNeeded | 
      |     ); |   |     ); | 
       |   |  | 
      | DWORD |   | DWORD | 
      | WINAPI |   | WINAPI | 
       | 
      | GetDeviceDriverBaseNameA( |   | GetDeviceDriverBaseNameA ( | 
      |     LPVOID ImageBase, |   |     __in LPVOID ImageBase, | 
      |     LPSTR lpBaseName, |   |     __out_ecount(nSize) LPSTR lpFilename, | 
      |     DWORD nSize |   |     __in DWORD nSize | 
      |     ); |   |     ); | 
       |   |  | 
      | DWORD |   | DWORD | 
      | WINAPI |   | WINAPI | 
       | 
      | GetDeviceDriverBaseNameW( |   | GetDeviceDriverBaseNameW ( | 
      |     LPVOID ImageBase, |   |     __in LPVOID ImageBase, | 
      |     LPWSTR lpBaseName, |   |     __out_ecount(nSize) LPWSTR lpBaseName, | 
      |     DWORD nSize |   |     __in DWORD nSize | 
      |     ); |   |     ); | 
       |   |  | 
      | #ifdef UNICODE |   | #ifdef UNICODE | 
      | #define GetDeviceDriverBaseName  GetDeviceDriverBaseNameW |   | #define GetDeviceDriverBaseName  GetDeviceDriverBaseNameW | 
      | #else |   | #else | 
      | #define GetDeviceDriverBaseName  GetDeviceDriverBaseNameA |   | #define GetDeviceDriverBaseName  GetDeviceDriverBaseNameA | 
      | #endif // !UNICODE |   | #endif // !UNICODE | 
       |   |  | 
      | DWORD |   | DWORD | 
      | WINAPI |   | WINAPI | 
       | 
      | GetDeviceDriverFileNameA( |   | GetDeviceDriverFileNameA ( | 
      |     LPVOID ImageBase, |   |     __in LPVOID ImageBase, | 
      |     LPSTR lpFilename, |   |     __out_ecount(nSize) LPSTR lpFilename, | 
      |     DWORD nSize |   |     __in DWORD nSize | 
      |     ); |   |     ); | 
       |   |  | 
      | DWORD |   | DWORD | 
      | WINAPI |   | WINAPI | 
       | 
      | GetDeviceDriverFileNameW( |   | GetDeviceDriverFileNameW ( | 
      |     LPVOID ImageBase, |   |     __in LPVOID ImageBase, | 
      |     LPWSTR lpFilename, |   |     __out_ecount(nSize) LPWSTR lpFilename, | 
      |     DWORD nSize |   |     __in DWORD nSize | 
      |     ); |   |     ); | 
       |   |  | 
      | #ifdef UNICODE |   | #ifdef UNICODE | 
      | #define GetDeviceDriverFileName  GetDeviceDriverFileNameW |   | #define GetDeviceDriverFileName  GetDeviceDriverFileNameW | 
      | #else |   | #else | 
      | #define GetDeviceDriverFileName  GetDeviceDriverFileNameA |   | #define GetDeviceDriverFileName  GetDeviceDriverFileNameA | 
      | #endif // !UNICODE |   | #endif // !UNICODE | 
       |   |  | 
      | // Structure for GetProcessMemoryInfo() |   | // Structure for GetProcessMemoryInfo() | 
       |   |  | 
       |   |  | 
      | skipping to change at line 292 |   | skipping to change at line 378 | 
      |     SIZE_T KernelNonpaged; |   |     SIZE_T KernelNonpaged; | 
      |     SIZE_T PageSize; |   |     SIZE_T PageSize; | 
      |     DWORD HandleCount; |   |     DWORD HandleCount; | 
      |     DWORD ProcessCount; |   |     DWORD ProcessCount; | 
      |     DWORD ThreadCount; |   |     DWORD ThreadCount; | 
      | } PERFORMANCE_INFORMATION, *PPERFORMANCE_INFORMATION, PERFORMACE_INFORMATION, *P
PERFORMACE_INFORMATION; |   | } PERFORMANCE_INFORMATION, *PPERFORMANCE_INFORMATION, PERFORMACE_INFORMATION, *P
PERFORMACE_INFORMATION; | 
       |   |  | 
      | BOOL |   | BOOL | 
      | WINAPI |   | WINAPI | 
      | GetPerformanceInfo ( |   | GetPerformanceInfo ( | 
       | 
      |     PPERFORMACE_INFORMATION pPerformanceInformation, |   |     PPERFORMANCE_INFORMATION pPerformanceInformation, | 
      |     DWORD cb |   |     DWORD cb | 
      |     ); |   |     ); | 
       |   |  | 
      | typedef struct _ENUM_PAGE_FILE_INFORMATION { |   | typedef struct _ENUM_PAGE_FILE_INFORMATION { | 
      |     DWORD cb; |   |     DWORD cb; | 
      |     DWORD Reserved; |   |     DWORD Reserved; | 
      |     SIZE_T TotalSize; |   |     SIZE_T TotalSize; | 
      |     SIZE_T TotalInUse; |   |     SIZE_T TotalInUse; | 
      |     SIZE_T PeakUsage; |   |     SIZE_T PeakUsage; | 
      | } ENUM_PAGE_FILE_INFORMATION, *PENUM_PAGE_FILE_INFORMATION; |   | } ENUM_PAGE_FILE_INFORMATION, *PENUM_PAGE_FILE_INFORMATION; | 
       |   |  | 
      | skipping to change at line 332 |   | skipping to change at line 418 | 
      | #ifdef UNICODE |   | #ifdef UNICODE | 
      | #define PENUM_PAGE_FILE_CALLBACK PENUM_PAGE_FILE_CALLBACKW |   | #define PENUM_PAGE_FILE_CALLBACK PENUM_PAGE_FILE_CALLBACKW | 
      | #define EnumPageFiles EnumPageFilesW |   | #define EnumPageFiles EnumPageFilesW | 
      | #else |   | #else | 
      | #define PENUM_PAGE_FILE_CALLBACK PENUM_PAGE_FILE_CALLBACKA |   | #define PENUM_PAGE_FILE_CALLBACK PENUM_PAGE_FILE_CALLBACKA | 
      | #define EnumPageFiles EnumPageFilesA |   | #define EnumPageFiles EnumPageFilesA | 
      | #endif // !UNICODE |   | #endif // !UNICODE | 
       |   |  | 
      | DWORD |   | DWORD | 
      | WINAPI |   | WINAPI | 
       | 
      | GetProcessImageFileNameA( |   | GetProcessImageFileNameA ( | 
      |     HANDLE hProcess, |   |     __in HANDLE hProcess, | 
      |     LPSTR lpImageFileName, |   |     __out_ecount(nSize) LPSTR lpImageFileName, | 
      |     DWORD nSize |   |     __in DWORD nSize | 
      |     ); |   |     ); | 
       |   |  | 
      | DWORD |   | DWORD | 
      | WINAPI |   | WINAPI | 
       | 
      | GetProcessImageFileNameW( |   | GetProcessImageFileNameW ( | 
      |     HANDLE hProcess, |   |     __in HANDLE hProcess, | 
      |     LPWSTR lpImageFileName, |   |     __out_ecount(nSize) LPWSTR lpImageFileName, | 
      |     DWORD nSize |   |     __in DWORD nSize | 
      |     ); |   |     ); | 
       |   |  | 
      | #ifdef UNICODE |   | #ifdef UNICODE | 
      | #define GetProcessImageFileName  GetProcessImageFileNameW |   | #define GetProcessImageFileName  GetProcessImageFileNameW | 
      | #else |   | #else | 
      | #define GetProcessImageFileName  GetProcessImageFileNameA |   | #define GetProcessImageFileName  GetProcessImageFileNameA | 
      | #endif // !UNICODE |   | #endif // !UNICODE | 
       |   |  | 
      | #ifdef __cplusplus |   | #ifdef __cplusplus | 
      | } |   | } | 
      |   |  | 
     |  End of changes. 25 change blocks.  | 
     | 78 lines changed or deleted |   | 167 lines changed or added | 
      |