Method: FFI::Pointer#read_com_memory_pointer

Defined in:
lib/puppet/ffi/windows/api_types.rb

#read_com_memory_pointer(&block) ⇒ Object



108
109
110
111
112
113
114
115
116
117
118
# File 'lib/puppet/ffi/windows/api_types.rb', line 108

def read_com_memory_pointer(&block)
  ptr = read_pointer
  begin
    yield ptr
  ensure
    FFI::WIN32::CoTaskMemFree(ptr) unless ptr.null?
  end

  # ptr has already had CoTaskMemFree called, so nothing to return
  nil
end