Condividi tramite


Overlapped.Pack Metodo

Definizione

Comprime l'istanza corrente in una struttura NativeOverlapped.

Overload

Pack(IOCompletionCallback)
Obsoleti.
Obsoleti.
Obsoleti.

Comprime l'istanza corrente in una struttura NativeOverlapped, specificando il delegato da richiamare al completamento dell'operazione di I/O asincrona.

Pack(IOCompletionCallback, Object)

Comprime l'istanza corrente in una struttura NativeOverlapped, specificando un delegato da richiamare al completamento dell'operazione di I/O asincrona e un oggetto gestito da utilizzare come buffer.

Pack(IOCompletionCallback)

Origine:
Overlapped.cs
Origine:
Overlapped.cs
Origine:
Overlapped.cs

Attenzione

This method is not safe. Use Pack (iocb, userData) instead. https://go.microsoft.com/fwlink/?linkid=14202

Attenzione

This overload is not safe and has been deprecated. Use Pack(IOCompletionCallback?, object?) instead.

Attenzione

This method is not safe. Use Pack (iocb, userData) instead. http://go.microsoft.com/fwlink/?linkid=14202

Importante

Questa API non è conforme a CLS.

Comprime l'istanza corrente in una struttura NativeOverlapped, specificando il delegato da richiamare al completamento dell'operazione di I/O asincrona.

public:
 System::Threading::NativeOverlapped* Pack(System::Threading::IOCompletionCallback ^ iocb);
[System.CLSCompliant(false)]
[System.Obsolete("This method is not safe.  Use Pack (iocb, userData) instead.  https://go.microsoft.com/fwlink/?linkid=14202")]
public System.Threading.NativeOverlapped* Pack (System.Threading.IOCompletionCallback? iocb);
[System.CLSCompliant(false)]
[System.Obsolete("This overload is not safe and has been deprecated. Use Pack(IOCompletionCallback?, object?) instead.")]
public System.Threading.NativeOverlapped* Pack (System.Threading.IOCompletionCallback? iocb);
[System.CLSCompliant(false)]
[System.Obsolete("This method is not safe.  Use Pack (iocb, userData) instead.  http://go.microsoft.com/fwlink/?linkid=14202")]
public System.Threading.NativeOverlapped* Pack (System.Threading.IOCompletionCallback iocb);
[System.CLSCompliant(false)]
public System.Threading.NativeOverlapped* Pack (System.Threading.IOCompletionCallback iocb);
[System.CLSCompliant(false)]
[System.Obsolete("This method is not safe.  Use Pack (iocb, userData) instead.  http://go.microsoft.com/fwlink/?linkid=14202")]
[System.Security.SecurityCritical]
public System.Threading.NativeOverlapped* Pack (System.Threading.IOCompletionCallback iocb);
[System.CLSCompliant(false)]
[System.Obsolete("This method is not safe.  Use Pack (iocb, userData) instead.  https://go.microsoft.com/fwlink/?linkid=14202")]
public System.Threading.NativeOverlapped* Pack (System.Threading.IOCompletionCallback iocb);
[<System.CLSCompliant(false)>]
[<System.Obsolete("This method is not safe.  Use Pack (iocb, userData) instead.  https://go.microsoft.com/fwlink/?linkid=14202")>]
member this.Pack : System.Threading.IOCompletionCallback -> nativeptr<System.Threading.NativeOverlapped>
[<System.CLSCompliant(false)>]
[<System.Obsolete("This overload is not safe and has been deprecated. Use Pack(IOCompletionCallback?, object?) instead.")>]
member this.Pack : System.Threading.IOCompletionCallback -> nativeptr<System.Threading.NativeOverlapped>
[<System.CLSCompliant(false)>]
[<System.Obsolete("This method is not safe.  Use Pack (iocb, userData) instead.  http://go.microsoft.com/fwlink/?linkid=14202")>]
member this.Pack : System.Threading.IOCompletionCallback -> nativeptr<System.Threading.NativeOverlapped>
[<System.CLSCompliant(false)>]
member this.Pack : System.Threading.IOCompletionCallback -> nativeptr<System.Threading.NativeOverlapped>
[<System.CLSCompliant(false)>]
[<System.Obsolete("This method is not safe.  Use Pack (iocb, userData) instead.  http://go.microsoft.com/fwlink/?linkid=14202")>]
[<System.Security.SecurityCritical>]
member this.Pack : System.Threading.IOCompletionCallback -> nativeptr<System.Threading.NativeOverlapped>

Parametri

iocb
IOCompletionCallback

Delegato IOCompletionCallback che rappresenta il metodo di callback chiamato al completamento dell'operazione di I/O asincrona.

Restituisce

Puntatore non gestito a una struttura NativeOverlapped.

Attributi

Eccezioni

L'oggetto Overlapped corrente è già stato compresso.

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 Unpack viene chiamata.

Importante

Il chiamante è responsabile dell'aggiunta del buffer. Se il dominio dell'applicazione viene scaricato, tuttavia, l'handle per il buffer aggiunto viene eliminato definitivamente e il buffer viene rilasciato, lasciando l'operazione di I/O per scrivere nell'indirizzo libero. Per questo motivo, è preferibile usare l'overload del Pack(IOCompletionCallback, Object) metodo, in cui il runtime aggiunge il buffer.

Si applica a

Pack(IOCompletionCallback, Object)

Origine:
Overlapped.cs
Origine:
Overlapped.cs
Origine:
Overlapped.cs

Importante

Questa API non è conforme a CLS.

Comprime l'istanza corrente in una struttura NativeOverlapped, specificando un delegato da richiamare al completamento dell'operazione di I/O asincrona e un oggetto gestito da utilizzare come buffer.

public:
 System::Threading::NativeOverlapped* Pack(System::Threading::IOCompletionCallback ^ iocb, System::Object ^ userData);
[System.CLSCompliant(false)]
public System.Threading.NativeOverlapped* Pack (System.Threading.IOCompletionCallback? iocb, object? userData);
[System.CLSCompliant(false)]
public System.Threading.NativeOverlapped* Pack (System.Threading.IOCompletionCallback iocb, object userData);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
public System.Threading.NativeOverlapped* Pack (System.Threading.IOCompletionCallback iocb, object userData);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
[System.Security.SecurityCritical]
public System.Threading.NativeOverlapped* Pack (System.Threading.IOCompletionCallback iocb, object userData);
[<System.CLSCompliant(false)>]
member this.Pack : System.Threading.IOCompletionCallback * obj -> nativeptr<System.Threading.NativeOverlapped>
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.Pack : System.Threading.IOCompletionCallback * obj -> nativeptr<System.Threading.NativeOverlapped>
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Security.SecurityCritical>]
member this.Pack : System.Threading.IOCompletionCallback * obj -> nativeptr<System.Threading.NativeOverlapped>

Parametri

iocb
IOCompletionCallback

Delegato IOCompletionCallback che rappresenta il metodo di callback chiamato al completamento dell'operazione di I/O asincrona.

userData
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.

Restituisce

Puntatore non gestito a una struttura NativeOverlapped.

Attributi

Eccezioni

L'oggetto Overlapped corrente è già stato compresso.

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 Unpack viene chiamata.

Il buffer o i buffer specificati in userData devono essere uguali a quelli passati alla funzione del sistema operativo non gestito che esegue l'I/O asincrona.

Nota

Il runtime aggiunge il buffer o i buffer specificati in userData per la durata dell'operazione di I/O. Se il dominio dell'applicazione viene scaricato, il runtime mantiene la memoria bloccata fino al completamento dell'operazione di I/O.

Si applica a