PreAllocatedOverlapped.UnsafeCreate 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.
Inicializa uma nova instância da PreAllocatedOverlapped classe, especificando um delegado que é invocado quando cada 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:
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 callback invocado quando cada operação de E/S assíncrona é concluída.
- state
- Object
Um objeto fornecido pelo utilizador que distingue NativeOverlapped a instância produzida a partir deste objeto 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 das operações. Cada objeto representa um buffer, por exemplo um array de bytes. Pode ser null.
Devoluções
A nova PreAllocatedOverlapped instância.
- Atributos
Exceções
callback é null.
Este método foi chamado depois de ter ThreadPoolBoundHandle sido descartado.
Observações
A nova PreAllocatedOverlapped instância pode ser passada para AllocateNativeOverlapped(PreAllocatedOverlapped), para produzir uma NativeOverlapped instância que pode ser passada ao sistema operativo em operações de I/O sobrepostas. Uma única PreAllocatedOverlapped instância só pode ser usada para uma única operação nativa de I/O de cada vez. No entanto, o estado armazenado na PreAllocatedOverlapped instância pode ser reutilizado para operações nativas subsequentes. ExecutionContext não é encaminhado para a invocação do callback.
Note
Os buffers especificados em pinData são fixados até Dispose() ser chamado.