PreAllocatedOverlapped.UnsafeCreate Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Importante
Questa API non è conforme a CLS.
Inizializza una nuova istanza della PreAllocatedOverlapped classe, specificando un delegato richiamato quando ogni operazione di I/O asincrona viene completata, un oggetto fornito dall'utente che fornisce contesto e oggetti gestiti che fungono da buffer.
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
Parametri
- callback
- IOCompletionCallback
Delegato IOCompletionCallback che rappresenta il metodo di callback richiamato quando viene completata ogni operazione di I/O asincrona.
- state
- Object
Oggetto fornito dall'utente che distingue NativeOverlapped l'istanza prodotta da questo oggetto da altre NativeOverlapped istanze. Può essere null
.
- pinData
- Object
Oggetto o matrice di oggetti che rappresentano il buffer di input o di output per le operazioni. Ogni oggetto rappresenta uno buffer, ad esempio una matrice di byte. Può essere null
.
Restituisce
Nuova istanza di PreAllocatedOverlapped.
- Attributi
Eccezioni
callback
è null
.
Questo metodo è stato chiamato dopo l'eliminazione di ThreadPoolBoundHandle.
Commenti
La nuova PreAllocatedOverlapped istanza può essere passata a AllocateNativeOverlapped(PreAllocatedOverlapped)per produrre un'istanza NativeOverlapped che può essere passata al sistema operativo nelle operazioni di I/O sovrapposte. Una singola PreAllocatedOverlapped istanza può essere usata solo per un'operazione di I/O nativa alla volta. Tuttavia, lo stato archiviato nell'istanza PreAllocatedOverlapped può essere riutilizzato per le operazioni native successive. ExecutionContext non viene eseguito alla chiamata del callback.
Nota
I buffer specificati in pinData
vengono aggiunti fino a quando Dispose() non viene chiamato.