Share via


PreAllocatedOverlapped.UnsafeCreate Método

Definição

Importante

Esta API não está em conformidade com CLS.

Inicializa uma nova instância da PreAllocatedOverlapped classe, especificando um delegado que é invocado quando cada operação de E/S assíncrona é concluída, um objeto fornecido pelo usuário fornecendo contexto e objetos gerenciados que servem como buffers.

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

Um IOCompletionCallback delegado que representa o método de retorno de chamada invocado quando cada operação de E/S assíncrona é concluída.

state
Object

Um objeto fornecido pelo usuário que distingue NativeOverlapped a instância produzida desse objeto de outras NativeOverlapped instâncias. Pode ser null.

pinData
Object

Um objeto ou uma matriz de objetos que representa o buffer de entrada ou saída para as operações. Cada objeto representa um buffer, por exemplo, uma matriz de bytes. Pode ser null.

Retornos

PreAllocatedOverlapped

A nova instância PreAllocatedOverlapped.

Atributos

Exceções

callback é null.

Esse método foi chamado após o ThreadPoolBoundHandle ter sido descartado.

Comentários

A nova PreAllocatedOverlapped instância pode ser passada para AllocateNativeOverlapped(PreAllocatedOverlapped)produzir uma NativeOverlapped instância que pode ser passada para o sistema operacional em operações de E/S sobrepostas. Uma única PreAllocatedOverlapped instância só pode ser usada para uma única operação de E/S nativa por vez. No entanto, o estado armazenado na PreAllocatedOverlapped instância pode ser reutilizado para operações nativas subsequentes. ExecutionContext não é fluido para a invocação do retorno de chamada.

Observação

Os buffers especificados pinData são fixados até Dispose() que sejam chamados.

Aplica-se a