ThreadPoolBoundHandle.UnsafeAllocateNativeOverlapped 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.
Restituisce un puntatore non gestito a una NativeOverlapped struttura, specificando un delegato richiamato al termine dell'operazione di I/O asincrona, un oggetto fornito dall'utente che fornisce contesto e oggetti gestiti che fungono da buffer.
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>
Parametri
- callback
- IOCompletionCallback
Delegato IOCompletionCallback che rappresenta il metodo di callback chiamato al completamento dell'operazione di I/O asincrona.
- state
- Object
Oggetto fornito dall'utente che distingue questo NativeOverlapped oggetto da altre NativeOverlapped istanze. Può essere null
.
- pinData
- Object
Oggetto o matrice di oggetti che rappresenta il buffer di input o output per l'operazione. Ogni oggetto rappresenta uno buffer, ad esempio una matrice di byte. Può essere null
.
Restituisce
Puntatore non gestito a una struttura NativeOverlapped.
- Attributi
Eccezioni
callback
è null
.
Questo metodo è stato chiamato dopo l'eliminazione di ThreadPoolBoundHandle.
Commenti
Il puntatore non gestito restituito da questo metodo può essere passato al sistema operativo in operazioni di I/O sovrapposte. La NativeOverlapped struttura è fissa nella memoria fisica fino a quando non FreeNativeOverlapped(NativeOverlapped*) viene chiamata.
Il buffer o i buffer specificati in pinData
devono essere uguali a quelli passati alla funzione del sistema operativo non gestito che esegue l'I/O asincrona.
ExecutionContext non viene propagato alla chiamata del callback.
Nota
I buffer specificati in pinData
vengono aggiunti per la durata dell'operazione di I/O.