# File lib/win32/file.rb, line 944
   def sparse=(bool)     
      unless bool
         warn 'cannot remove sparse property from a file - operation ignored'
         return
      end
      
      bytes = [0].pack('L')
      
      handle = CreateFile(
         self.path,
         FILE_READ_DATA | FILE_WRITE_DATA,
         FILE_SHARE_READ | FILE_SHARE_WRITE,
         0,
         OPEN_EXISTING,
         FSCTL_SET_SPARSE(),
         0
      )
      
      if handle == INVALID_HANDLE_VALUE
         raise ArgumentError, get_last_error
      end
      
      val = DeviceIoControl(
         handle,
         FSCTL_SET_SPARSE(),
         0,
         0,
         0,
         0,
         bytes,
         0
      )
      
      if val == 0
         raise ArgumentError, get_last_error
      end
      
      self
   end