using System; using System.Collections.Generic; using System.Text; namespace libWin32.Win32.Threading { [Flags()] public enum ProcessAccessFlags : int { /// Specifies all possible access flags for the process object. AllAccess = CreateThread | DuplicateHandle | QueryInformation | SetInformation | Terminate | VMOperation | VMRead | VMWrite | Synchronize, /// Enables usage of the process handle in the CreateRemoteThread function to create a thread in the process. CreateThread = 0x2, /// Enables usage of the process handle as either the source or target process in the DuplicateHandle function to duplicate a handle. DuplicateHandle = 0x40, /// Enables usage of the process handle in the GetExitCodeProcess and GetPriorityClass functions to read information from the process object. QueryInformation = 0x400, /// Enables usage of the process handle in the SetPriorityClass function to set the priority class of the process. SetInformation = 0x200, /// Enables usage of the process handle in the TerminateProcess function to terminate the process. Terminate = 0x1, /// Enables usage of the process handle in the VirtualProtectEx and WriteProcessMemory functions to modify the virtual memory of the process. VMOperation = 0x8, /// Enables usage of the process handle in the ReadProcessMemory function to' read from the virtual memory of the process. VMRead = 0x10, /// Enables usage of the process handle in the WriteProcessMemory function to write to the virtual memory of the process. VMWrite = 0x20, /// Enables usage of the process handle in any of the wait functions to wait for the process to terminate. Synchronize = 0x100000 } }