ThreadPoolBoundHandle.UnsafeAllocateNativeOverlapped Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Importante
Esta API não está em conformidade com CLS.
Devolve um ponteiro não gerido para uma NativeOverlapped estrutura, especificando um delegado que é invocado quando a operação de E/S assíncrona está concluída, um objeto fornecido pelo utilizador que fornece contexto, e objetos geridos que servem de 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 IOCompletionCallback delegado que representa o método de callback invocado quando a operação de E/S assíncrona é concluída.
- state
- Object
Um objeto fornecido pelo utilizador que distingue isto NativeOverlapped de outras NativeOverlapped instâncias. Pode ser null.
- pinData
- Object
Um objeto ou array de objetos que representa o buffer de entrada ou saída da operação. Cada objeto representa um buffer, por exemplo um array de bytes. Pode ser null.
Devoluções
Um apontador não gerido para uma NativeOverlapped estrutura.
- Atributos
Exceções
callback é null.
Este método foi chamado depois de ter ThreadPoolBoundHandle sido descartado.
Observações
O ponteiro não gerido devolvido por este método pode ser passado para o sistema operativo em operações de E/S sobrepostas. A NativeOverlapped estrutura é fixa na memória física até FreeNativeOverlapped(NativeOverlapped*) ser chamada.
O buffer ou buffers especificados em pinData devem ser os mesmos que são passados para a função do sistema operativo não gerido que executa a E/S assíncrona.
ExecutionContext não flui para a invocação do retorno.
Note
Os buffers especificados em pinData são fixados durante a duração da operação de I/O.