Прочитать на английском

Поделиться через


UnmanagedMemoryStream.Initialize Метод

Определение

Инициализирует новый экземпляр класса UnmanagedMemoryStream в безопасном буфере или с помощью указателя на неуправляемое расположение в памяти.

Перегрузки

Initialize(Byte*, Int64, Int64, FileAccess)

Инициализирует новый экземпляр класса UnmanagedMemoryStream, используя указатель на неуправляемое расположение в памяти.

Initialize(SafeBuffer, Int64, Int64, FileAccess)

Инициализирует новый экземпляр класса UnmanagedMemoryStream в безопасном буфере с указанными смещением, длиной и правами доступа к файлам.

Initialize(Byte*, Int64, Int64, FileAccess)

Исходный код:
UnmanagedMemoryStream.cs
Исходный код:
UnmanagedMemoryStream.cs
Исходный код:
UnmanagedMemoryStream.cs

Важно!

Этот API несовместим с CLS.

Инициализирует новый экземпляр класса UnmanagedMemoryStream, используя указатель на неуправляемое расположение в памяти.

[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
protected void Initialize (byte* pointer, long length, long capacity, System.IO.FileAccess access);
[System.CLSCompliant(false)]
protected void Initialize (byte* pointer, long length, long capacity, System.IO.FileAccess access);
protected void Initialize (byte* pointer, long length, long capacity, System.IO.FileAccess access);

Параметры

pointer
Byte*

Указатель на расположение неуправляемой памяти.

length
Int64

Используемый объем памяти.

capacity
Int64

Общий объем памяти, назначенный для потока.

access
FileAccess

Одно из значений перечисления FileAccess.

Атрибуты

Исключения

Пользователь не имеет необходимого разрешения.

Значение pointer равно null.

Значение параметра length меньше нуля.

-или-

Значение параметра capacity меньше нуля.

-или-

Значение параметра length достаточно велико, чтобы привести к переполнению.

Комментарии

Этот метод эквивалентен конструктору UnmanagedMemoryStream . Он поддерживает методы, которые должны инициализировать указатель перед заданием переменных потока и, следовательно, не могут вызывать параметризованный конструктор. Такие методы должны использовать конструктор без параметров , UnmanagedMemoryStream(), инициализировать указатель, а затем вызвать Initialize метод .

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

Initialize(SafeBuffer, Int64, Int64, FileAccess)

Исходный код:
UnmanagedMemoryStream.cs
Исходный код:
UnmanagedMemoryStream.cs
Исходный код:
UnmanagedMemoryStream.cs

Инициализирует новый экземпляр класса UnmanagedMemoryStream в безопасном буфере с указанными смещением, длиной и правами доступа к файлам.

protected void Initialize (System.Runtime.InteropServices.SafeBuffer buffer, long offset, long length, System.IO.FileAccess access);

Параметры

buffer
SafeBuffer

Буфер, который должен содержать поток неуправляемой памяти.

offset
Int64

Позиция байта в буфере, с которой должен начинаться поток неуправляемой памяти.

length
Int64

Длина потока неуправляемой памяти.

access
FileAccess

Режим доступа к файлам для потока неуправляемой памяти.

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0