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
}
}