code: def is_buffer(self, address, size):
          
          if size <= 0:
              raise ValueError("The size argument must be greater than zero")
          while size > 0:
              try:
                  mbi = self.mquery(address)
              except WindowsError:
                  e = sys.exc_info()[1]
                  if e.winerror == win32.ERROR_INVALID_PARAMETER:
                      return False
                  raise
              if not mbi.has_content():
                  return False
              size = size - mbi.RegionSize
          return True
docs: Determines if the given memory area is a valid code or data buffer.
  
          @note: Returns always C{False} for kernel mode addresses.
  
          @see: L{mquery}
  
          @type  address: int
          @param address: Memory address.
  
          @type  size: int
          @param size: Number of bytes. Must be greater than zero.
  
          @rtype:  bool
          @return: C{True} if the memory area is a valid code or data buffer,
              C{False} otherwise.
  
          @raise ValueError: The size argument must be greater than zero.
          @raise WindowsError: On error an exception is raised.