следующий код всегда будет выбрасывать
UnuthorizedAccessException (внутренний буфер MemoryStream не доступен.)
byte[] buf1 = { 2, 3, 5, 7, 11 };
var ms = new MemoryStream(buf1);
byte[] buf2 = ms.GetBuffer(); // exception will be thrown here
Это обычное старое консольное приложение, и я работаю от имени администратора. Я не могу представить более привилегированную настройку, которую мог бы дать этот код. Так почему я не могу добраться до этого буфера? (И если никто не может, какой смысл в методе GetBuffer?)
В документах MSDN написано
Чтобы создать экземпляр MemoryStream с
публично видимый буфер, используйте
MemoryStream,
MemoryStream (массив [], Int32,
Int32, Boolean, Boolean) или
MemoryStream (Int32).
Разве я этого не делаю?
P.S. Я не хочу использовать ToArray (), потому что это делает копию.