Share via


ThreadPoolBoundHandle.UnsafeAllocateNativeOverlapped Método

Definição

Importante

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

Retorna um ponteiro não gerenciado para uma NativeOverlapped estrutura, especificando um delegado que é invocado quando a 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:
 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

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

state
Object

Um objeto fornecido pelo usuário que distingue isso NativeOverlapped de outras NativeOverlapped instâncias. Pode ser null.

pinData
Object

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

Retornos

NativeOverlapped*

Um ponteiro não gerenciado para uma estrutura NativeOverlapped.

Atributos

Exceções

callback é null.

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

Comentários

O ponteiro não gerenciado retornado por esse método pode ser passado para o sistema operacional em operações de E/S sobrepostas. A NativeOverlapped estrutura é fixada na memória física até FreeNativeOverlapped(NativeOverlapped*) ser chamada.

O buffer ou os buffers especificados pinData devem ser os mesmos passados para a função de sistema operacional não gerenciada que executa a E/S assíncrona.

ExecutionContext não é fluido para a invocação do retorno de chamada.

Observação

Os buffers especificados pinData são fixados durante a operação de E/S.

Aplica-se a