# File lib/chef/win32/memory.rb, line 32 def self.local_alloc(length, flags = LPTR, &block) result = LocalAlloc(flags, length) if result.null? Chef::ReservedNames::Win32::Error.raise! end # If a block is passed, handle freeing the memory at the end if block != nil begin yield result ensure local_free(result) end else result end end