docs: def open(self, pchPath, mode, unElementSize, unElements):
          """opens an existing or creates a new IOBuffer of unSize bytes"""
  
          fn = self.function_table.open
          pulBuffer = IOBufferHandle_t()
          result = fn(pchPath, mode, unElementSize, unElements, byref(pulBuffer))
          return result, pulBuffer