Once I know what this means, there's probably a better way of expressing this question, but I don't know where to start.
Here's the Read method for a StreamReader:
public override int Read([In, Out] char[] buffer, int index, int count) { ... }
That "In, Out" bit - what is it for, what does it do, what's it called?