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


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 не выполняется в вызов обратного вызова.

Примечание

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

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