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 закрепляются на время операции ввода-вывода.