ThreadPoolBoundHandle.UnsafeAllocateNativeOverlapped Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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.