Wolfgang Thallergcc16 merge934c3885 months agoHistory
158 lines · 5.8 KB · D
RawDownload
/** * Windows API header module * * Translated from MinGW Windows headers * * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) * Source: $(DRUNTIMESRC core/sys/windows/_psapi.d) *//* Comment from MinGW *   Process status API (PSAPI) *   http://windowssdk.msdn.microsoft.com/library/ms684884.aspx */ module core.sys.windows.psapi;version (Windows): version (ANSI) {} else version = Unicode; import core.sys.windows.w32api;import core.sys.windows.winbase;import core.sys.windows.windef; struct MODULEINFO {    LPVOID lpBaseOfDll;    DWORD SizeOfImage;    LPVOID EntryPoint;}alias LPMODULEINFO = MODULEINFO*; struct PSAPI_WS_WATCH_INFORMATION {    LPVOID FaultingPc;    LPVOID FaultingVa;}alias PPSAPI_WS_WATCH_INFORMATION = PSAPI_WS_WATCH_INFORMATION*; struct PSAPI_WS_WATCH_INFORMATION_EX {    PSAPI_WS_WATCH_INFORMATION BasicInfo;    ULONG_PTR FaultingThreadId;    ULONG_PTR Flags;}alias PPSAPI_WS_WATCH_INFORMATION_EX = PSAPI_WS_WATCH_INFORMATION_EX*; struct PROCESS_MEMORY_COUNTERS {    DWORD cb;    DWORD PageFaultCount;    SIZE_T PeakWorkingSetSize;    SIZE_T WorkingSetSize;    SIZE_T QuotaPeakPagedPoolUsage;    SIZE_T QuotaPagedPoolUsage;    SIZE_T QuotaPeakNonPagedPoolUsage;    SIZE_T QuotaNonPagedPoolUsage;    SIZE_T PagefileUsage;    SIZE_T PeakPagefileUsage;}alias PPROCESS_MEMORY_COUNTERS = PROCESS_MEMORY_COUNTERS*; struct PERFORMANCE_INFORMATION {    DWORD cb;    SIZE_T CommitTotal;    SIZE_T CommitLimit;    SIZE_T CommitPeak;    SIZE_T PhysicalTotal;    SIZE_T PhysicalAvailable;    SIZE_T SystemCache;    SIZE_T KernelTotal;    SIZE_T KernelPaged;    SIZE_T KernelNonpaged;    SIZE_T PageSize;    DWORD HandleCount;    DWORD ProcessCount;    DWORD ThreadCount;}alias PPERFORMANCE_INFORMATION = PERFORMANCE_INFORMATION*; struct ENUM_PAGE_FILE_INFORMATION {    DWORD cb;    DWORD Reserved;    SIZE_T TotalSize;    SIZE_T TotalInUse;    SIZE_T PeakUsage;}alias PENUM_PAGE_FILE_INFORMATION = ENUM_PAGE_FILE_INFORMATION*; /* application-defined callback function used with the EnumPageFiles() * http://windowssdk.msdn.microsoft.com/library/ms682627.aspx */alias PENUM_PAGE_FILE_CALLBACKW = BOOL function(LPVOID, PENUM_PAGE_FILE_INFORMATION, LPCWSTR);alias PENUM_PAGE_FILE_CALLBACKA = BOOL function(LPVOID, PENUM_PAGE_FILE_INFORMATION, LPCSTR);  // Grouped by application, not in alphabetical order.extern (Windows) nothrow @nogc {    /* Process Information     * http://windowssdk.msdn.microsoft.com/library/ms684870.aspx */    BOOL EnumProcesses(DWORD*, DWORD, DWORD*); /* NT/2000/XP/Server2003/Vista/Longhorn */    DWORD GetProcessImageFileNameA(HANDLE, LPSTR, DWORD); /* XP/Server2003/Vista/Longhorn */    DWORD GetProcessImageFileNameW(HANDLE, LPWSTR, DWORD); /* XP/Server2003/Vista/Longhorn */     /* Module Information     * http://windowssdk.msdn.microsoft.com/library/ms684232.aspx */    BOOL EnumProcessModules(HANDLE, HMODULE*, DWORD, LPDWORD);    BOOL EnumProcessModulesEx(HANDLE, HMODULE*, DWORD, LPDWORD, DWORD); /* Vista/Longhorn */    DWORD GetModuleBaseNameA(HANDLE, HMODULE, LPSTR, DWORD);    DWORD GetModuleBaseNameW(HANDLE, HMODULE, LPWSTR, DWORD);    DWORD GetModuleFileNameExA(HANDLE, HMODULE, LPSTR, DWORD);    DWORD GetModuleFileNameExW(HANDLE, HMODULE, LPWSTR, DWORD);    BOOL GetModuleInformation(HANDLE, HMODULE, LPMODULEINFO, DWORD);     /* Device Driver Information     * http://windowssdk.msdn.microsoft.com/library/ms682578.aspx */    BOOL EnumDeviceDrivers(LPVOID*, DWORD, LPDWORD);    DWORD GetDeviceDriverBaseNameA(LPVOID, LPSTR, DWORD);    DWORD GetDeviceDriverBaseNameW(LPVOID, LPWSTR, DWORD);    DWORD GetDeviceDriverFileNameA(LPVOID, LPSTR, DWORD);    DWORD GetDeviceDriverFileNameW(LPVOID, LPWSTR, DWORD);     /* Process Memory Usage Information     * http://windowssdk.msdn.microsoft.com/library/ms684879.aspx */    BOOL GetProcessMemoryInfo(HANDLE, PPROCESS_MEMORY_COUNTERS, DWORD);     /* Working Set Information     * http://windowssdk.msdn.microsoft.com/library/ms687398.aspx */    BOOL EmptyWorkingSet(HANDLE);    BOOL GetWsChanges(HANDLE, PPSAPI_WS_WATCH_INFORMATION, DWORD);    BOOL GetWsChangesEx(HANDLE, PPSAPI_WS_WATCH_INFORMATION_EX, DWORD); /* Vista/Longhorn */    BOOL InitializeProcessForWsWatch(HANDLE);    BOOL QueryWorkingSet(HANDLE, PVOID, DWORD);    BOOL QueryWorkingSetEx(HANDLE, PVOID, DWORD);     /* Memory-Mapped File Information     * http://windowssdk.msdn.microsoft.com/library/ms684212.aspx */    DWORD GetMappedFileNameW(HANDLE, LPVOID, LPWSTR, DWORD);    DWORD GetMappedFileNameA(HANDLE, LPVOID, LPSTR, DWORD);     /* Resources Information */    BOOL GetPerformanceInfo(PPERFORMANCE_INFORMATION, DWORD); /* XP/Server2003/Vista/Longhorn */    BOOL EnumPageFilesW(PENUM_PAGE_FILE_CALLBACKW, LPVOID); /* 2000/XP/Server2003/Vista/Longhorn */    BOOL EnumPageFilesA(PENUM_PAGE_FILE_CALLBACKA, LPVOID); /* 2000/XP/Server2003/Vista/Longhorn */} version (Unicode) {    alias PENUM_PAGE_FILE_CALLBACK = PENUM_PAGE_FILE_CALLBACKW;    alias GetModuleBaseName = GetModuleBaseNameW;    alias GetModuleFileNameEx = GetModuleFileNameExW;    alias GetMappedFileName = GetMappedFileNameW;    alias GetDeviceDriverBaseName = GetDeviceDriverBaseNameW;    alias GetDeviceDriverFileName = GetDeviceDriverFileNameW;    alias EnumPageFiles = EnumPageFilesW;    alias GetProcessImageFileName = GetProcessImageFileNameW;} else {    alias PENUM_PAGE_FILE_CALLBACK = PENUM_PAGE_FILE_CALLBACKA;    alias GetModuleBaseName = GetModuleBaseNameA;    alias GetModuleFileNameEx = GetModuleFileNameExA;    alias GetMappedFileName = GetMappedFileNameA;    alias GetDeviceDriverBaseName = GetDeviceDriverBaseNameA;    alias GetDeviceDriverFileName = GetDeviceDriverFileNameA;    alias EnumPageFiles = EnumPageFilesA;    alias GetProcessImageFileName = GetProcessImageFileNameA;}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t