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 al completamento di ogni operazione di I/O asincrona, 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 al completamento di 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 un buffer, ad esempio una matrice di byte. Può essere null.
Valori restituiti
Nuova PreAllocatedOverlapped istanza.
- 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 una singola 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 propagato alla chiamata del callback.
Note
I buffer specificati in pinData vengono aggiunti fino a quando non Dispose() viene chiamato .