Method: ChildProcess::Windows::Lib.duplicate_handle

Defined in:
lib/childprocess/windows/lib.rb

.duplicate_handle(handle) ⇒ Object



341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
# File 'lib/childprocess/windows/lib.rb', line 341

def duplicate_handle(handle)
  dup  = FFI::MemoryPointer.new(:pointer)
  proc = current_process

  ok = Lib._duplicate_handle(
    proc,
    handle,
    proc,
    dup,
    0,
    false,
    DUPLICATE_SAME_ACCESS
  )

  check_error ok

  dup.read_pointer
ensure
  close_handle proc
end