ThreadPoolBoundHandle.UnsafeAllocateNativeOverlapped Метод

Определение

Важно!

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

Возвращает неуправляемый указатель на NativeOverlapped структуру, указывая делегат, вызываемый при завершении асинхронной операции ввода-вывода, предоставленный пользователем объект, предоставляющий контекст, и управляемые объекты, которые служат буферами.

public:
 System::Threading::NativeOverlapped* UnsafeAllocateNativeOverlapped(System::Threading::IOCompletionCallback ^ callback, System::Object ^ state, System::Object ^ pinData);
[System.CLSCompliant(false)]
public System.Threading.NativeOverlapped* UnsafeAllocateNativeOverlapped(System.Threading.IOCompletionCallback callback, object? state, object? pinData);
[<System.CLSCompliant(false)>]
member this.UnsafeAllocateNativeOverlapped : System.Threading.IOCompletionCallback * obj * obj -> nativeptr<System.Threading.NativeOverlapped>

Параметры

callback
IOCompletionCallback

Делегат IOCompletionCallback , представляющий метод обратного вызова, вызываемый при завершении асинхронной операции ввода-вывода.

state
Object

Предоставленный пользователем объект, который отличает это NativeOverlapped от других NativeOverlapped экземпляров. Может иметь значение null.

pinData
Object

Объект или массив объектов, представляющий входной или выходной буфер для операции. Каждый объект представляет буфер, например массив байтов. Может иметь значение null.

Возвращаемое значение

Неуправляемый указатель на структуру NativeOverlapped .

Атрибуты

Исключения

callback равно null.

Этот метод был вызван после ThreadPoolBoundHandle удаления.

Комментарии

Неуправляемый указатель, возвращаемый этим методом, можно передать в операционную систему в перекрывающихся операциях ввода-вывода. Структура NativeOverlapped фиксируется в физической памяти, пока не FreeNativeOverlapped(NativeOverlapped*) будет вызвана.

Буфер или буферы, указанные в pinData неуправляемой операционной системе, должны совпадать с переданными в неуправляемую функцию операционной системы, которая выполняет асинхронный ввод-вывод.

ExecutionContext не выполняется вызов обратного вызова.

Note

Буферы, указанные в, pinData закреплены в течение операции ввода-вывода.

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