public static extern bool DuplicateHandle(int SourceProcessHandle, int SourceHandle, int TargetProcessHandle, out int TargetHandle, STANDARD_RIGHTS DesiredAccess, int InheritHandle, uint Options);
public static extern uint ZwDuplicateObject(int SourceProcessHandle, int SourceHandle, int TargetProcessHandle, out int TargetHandle, STANDARD_RIGHTS DesiredAccess, int Attributes, int Options);
public static extern uint ZwDuplicateObject(int SourceProcessHandle, int SourceHandle, int TargetProcessHandle, out int TargetHandle, STANDARD_RIGHTS DesiredAccess, int Attributes, int Options);
public static extern bool DuplicateHandle(int SourceProcessHandle, int SourceHandle, int TargetProcessHandle, out int TargetHandle, STANDARD_RIGHTS DesiredAccess, int InheritHandle, uint Options);
public static extern IntPtr CreateFile(string lpFileName, STANDARD_RIGHTS dwDesiredAccess, FILE_SHARE dwShareMode, IntPtr lpSecurityAttributes, FileMode dwCreationDisposition, FILE_ATTRIBUTE dwFlagsAndAttributes, IntPtr hTemplateFile);