Condividi tramite


ThreadPoolBoundHandle.UnsafeAllocateNativeOverlapped Metodo

Definizione

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.

Si applica a