Condividi tramite


PreAllocatedOverlapped(IOCompletionCallback, Object, Object) Costruttore

Definizione

Importante

Questa API non è conforme a CLS.

Inizializza una nuova istanza della classe PreAllocatedOverlapped e specifica un delegato da richiamare quando ogni operazione di I/O asincrona è completata, un oggetto specificato dall'utente che definisce il contesto e gli oggetti gestiti usati come buffer.

public:
 PreAllocatedOverlapped(System::Threading::IOCompletionCallback ^ callback, System::Object ^ state, System::Object ^ pinData);
[System.CLSCompliant(false)]
public PreAllocatedOverlapped (System.Threading.IOCompletionCallback callback, object state, object pinData);
[System.CLSCompliant(false)]
public PreAllocatedOverlapped (System.Threading.IOCompletionCallback callback, object? state, object? pinData);
[<System.CLSCompliant(false)>]
new System.Threading.PreAllocatedOverlapped : System.Threading.IOCompletionCallback * obj * obj -> System.Threading.PreAllocatedOverlapped
Public Sub New (callback As IOCompletionCallback, state As Object, pinData As Object)

Parametri

callback
IOCompletionCallback

Un delegato che rappresenta il metodo di callback da richiamare al completamento di ogni operazione di I/O asincrona.

state
Object

Un oggetto specificato dall'utente che distingue l'istanza NativeOverlapped prodotta dall'oggetto da altre istanze NativeOverlapped. Il valore può essere null.

pinData
Object

Un oggetto o una matrice di oggetti che rappresenta il buffer di input o output per le operazioni. Ogni oggetto rappresenta un buffer, ad esempio una matrice di byte. Il valore può essere null.

Attributi

Eccezioni

callback è null.

Questo metodo è stato chiamato dopo l'eliminazione di ThreadPoolBoundHandle.

Commenti

La nuova PreAllocatedOverlapped istanza può essere passata al AllocateNativeOverlapped metodo 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.

Nota

I buffer specificati in pinData vengono aggiunti fino a quando non viene chiamato il Dispose metodo .

Si applica a