Compartir a través de


PreAllocatedOverlapped.UnsafeCreate Método

Definición

Importante

Esta API no es conforme a CLS.

Inicializa una nueva instancia de la PreAllocatedOverlapped clase , especificando un delegado que se invoca cuando se completa cada 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:
 static System::Threading::PreAllocatedOverlapped ^ UnsafeCreate(System::Threading::IOCompletionCallback ^ callback, System::Object ^ state, System::Object ^ pinData);
[System.CLSCompliant(false)]
public static System.Threading.PreAllocatedOverlapped UnsafeCreate (System.Threading.IOCompletionCallback callback, object? state, object? pinData);
[<System.CLSCompliant(false)>]
static member UnsafeCreate : System.Threading.IOCompletionCallback * obj * obj -> System.Threading.PreAllocatedOverlapped
Public Shared Function UnsafeCreate (callback As IOCompletionCallback, state As Object, pinData As Object) As PreAllocatedOverlapped

Parámetros

callback
IOCompletionCallback

Delegado IOCompletionCallback que representa el método de devolución de llamada invocado cuando se completa cada operación de E/S asincrónica.

state
Object

Objeto proporcionado por el usuario que distingue la NativeOverlapped instancia generada a partir de este objeto de otras NativeOverlapped instancias. Puede ser null.

pinData
Object

Objeto o matriz de objetos que representan el búfer de entrada o salida para las operaciones. Cada objeto representa un búfer, por ejemplo una matriz de bytes. Puede ser null.

Devoluciones

La nueva instancia de PreAllocatedOverlapped.

Atributos

Excepciones

callback es null.

Se llamó a este método después de eliminar ThreadPoolBoundHandle.

Comentarios

La nueva PreAllocatedOverlapped instancia se puede pasar a AllocateNativeOverlapped(PreAllocatedOverlapped), para generar una NativeOverlapped instancia que se pueda pasar al sistema operativo en operaciones de E/S superpuestas. Una sola PreAllocatedOverlapped instancia solo se puede usar para una sola operación de E/S nativa a la vez. Sin embargo, el estado almacenado en la PreAllocatedOverlapped instancia se puede reutilizar para las operaciones nativas posteriores. ExecutionContext no fluye a la invocación de la devolución de llamada.

Nota

Los búferes especificados en pinData se anclan hasta Dispose() que se llama a .

Se aplica a