ThreadPoolBoundHandle.UnsafeAllocateNativeOverlapped Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Importante
Esta API no es conforme a CLS.
Devuelve un puntero no administrado a una NativeOverlapped estructura, especificando un delegado que se invoca cuando se completa la operación de E/S asincrónica, un objeto proporcionado por el usuario que proporciona contexto y objetos administrados que actúan como búferes.
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>
Parámetros
- callback
- IOCompletionCallback
Delegado IOCompletionCallback que representa el método de devolución de llamada invocado al completarse la operación de E/S asincrónica.
- state
- Object
Objeto proporcionado por el usuario que distingue esto NativeOverlapped de otras NativeOverlapped instancias. Puede ser null
.
- pinData
- Object
Objeto o matriz de objetos que representa el búfer de entrada o salida para la operación. Cada objeto representa un búfer, por ejemplo una matriz de bytes. Puede ser null
.
Devoluciones
Puntero no administrado a una estructura NativeOverlapped.
- Atributos
Excepciones
callback
es null
.
Se llamó a este método después de eliminar ThreadPoolBoundHandle.
Comentarios
El puntero no administrado devuelto por este método se puede pasar al sistema operativo en operaciones de E/S superpuestas. La NativeOverlapped estructura se fija en memoria física hasta FreeNativeOverlapped(NativeOverlapped*) que se llama a .
El búfer o los búferes especificados en pinData
deben ser los mismos que los pasados a la función del sistema operativo no administrado que realiza la E/S asincrónica.
ExecutionContext no fluye a la invocación de la devolución de llamada.
Nota:
Los búferes especificados en pinData
se anclan durante la operación de E/S.