OpenProcess function kernel32

Win32Result<HANDLE> OpenProcess(
  1. PROCESS_ACCESS_RIGHTS dwDesiredAccess,
  2. bool bInheritHandle,
  3. int dwProcessId
)

Opens an existing local process object.

To learn more, see learn.microsoft.com/windows/win32/api/processthreadsapi/nf-processthreadsapi-openprocess.

Implementation

Win32Result<HANDLE> OpenProcess(
  PROCESS_ACCESS_RIGHTS dwDesiredAccess,
  bool bInheritHandle,
  int dwProcessId,
) {
  final result_ = OpenProcess_Wrapper(
    dwDesiredAccess,
    bInheritHandle ? TRUE : FALSE,
    dwProcessId,
  );
  return Win32Result(value: HANDLE(result_.value.ptr), error: result_.error);
}