Overlapped.Pack Methode

Definitie

Hiermee wordt het huidige exemplaar in een NativeOverlapped structuur verpakt.

Overloads

Name Description
Pack(IOCompletionCallback)
Verouderd.
Verouderd.
Verouderd.

Hiermee wordt het huidige exemplaar in een NativeOverlapped structuur verpakt, waarbij de gemachtigde wordt opgegeven die moet worden aangeroepen wanneer de asynchrone I/O-bewerking is voltooid.

Pack(IOCompletionCallback, Object)

Verpakt het huidige exemplaar in een NativeOverlapped structuur, waarbij een gemachtigde wordt opgegeven die wordt aangeroepen wanneer de asynchrone I/O-bewerking is voltooid en een beheerd object dat als buffer fungeert.

Pack(IOCompletionCallback)

Bron:
Overlapped.cs
Bron:
Overlapped.cs
Bron:
Overlapped.cs
Bron:
Overlapped.cs
Bron:
Overlapped.cs

Let op

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

Let op

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

Let op

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

Belangrijk

Deze API is niet CLS-conform.

Hiermee wordt het huidige exemplaar in een NativeOverlapped structuur verpakt, waarbij de gemachtigde wordt opgegeven die moet worden aangeroepen wanneer de asynchrone I/O-bewerking is voltooid.

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.  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.  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 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.  https://go.microsoft.com/fwlink/?linkid=14202")>]
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>

Parameters

iocb
IOCompletionCallback

Een IOCompletionCallback gemachtigde die de callback-methode vertegenwoordigt die wordt aangeroepen wanneer de asynchrone I/O-bewerking is voltooid.

Retouren

Een onbeheerde aanwijzer naar een NativeOverlapped structuur.

Kenmerken

Uitzonderingen

De huidige Overlapped is al ingepakt.

Opmerkingen

De niet-beheerde aanwijzer die door deze methode wordt geretourneerd, kan worden doorgegeven aan het besturingssysteem in overlappende I/O-bewerkingen. De NativeOverlapped structuur is opgelost in het fysieke geheugen totdat Unpack deze wordt aangeroepen.

Important

De beller is verantwoordelijk voor het vastmaken van de buffer. Als het toepassingsdomein wordt uitgeladen, wordt de ingang naar de vastgemaakte buffer echter vernietigd en wordt de buffer vrijgegeven, waardoor de I/O-bewerking naar het vrijgemaakte adres wordt geschreven. Daarom is het beter om de overbelasting van de Pack(IOCompletionCallback, Object) methode te gebruiken, waarbij de runtime de buffer vaststelt.

Van toepassing op

Pack(IOCompletionCallback, Object)

Bron:
Overlapped.cs
Bron:
Overlapped.cs
Bron:
Overlapped.cs
Bron:
Overlapped.cs
Bron:
Overlapped.cs

Belangrijk

Deze API is niet CLS-conform.

Verpakt het huidige exemplaar in een NativeOverlapped structuur, waarbij een gemachtigde wordt opgegeven die wordt aangeroepen wanneer de asynchrone I/O-bewerking is voltooid en een beheerd object dat als buffer fungeert.

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>

Parameters

iocb
IOCompletionCallback

Een IOCompletionCallback gemachtigde die de callback-methode vertegenwoordigt die wordt aangeroepen wanneer de asynchrone I/O-bewerking is voltooid.

userData
Object

Een object of matrix met objecten die de invoer- of uitvoerbuffer voor de bewerking vertegenwoordigen. Elk object vertegenwoordigt een buffer, bijvoorbeeld een matrix van bytes.

Retouren

Een onbeheerde aanwijzer naar een NativeOverlapped structuur.

Kenmerken

Uitzonderingen

De huidige Overlapped is al ingepakt.

Opmerkingen

De niet-beheerde aanwijzer die door deze methode wordt geretourneerd, kan worden doorgegeven aan het besturingssysteem in overlappende I/O-bewerkingen. De NativeOverlapped structuur is opgelost in het fysieke geheugen totdat Unpack deze wordt aangeroepen.

De opgegeven userData buffers of buffers moeten hetzelfde zijn als de buffers die worden doorgegeven aan de onbeheerde besturingssysteemfunctie die de asynchrone I/O uitvoert.

Note

De runtime maakt de buffer of buffers vast die zijn userData opgegeven voor de duur van de I/O-bewerking. Als het toepassingsdomein wordt uitgeladen, houdt de runtime het geheugen vast totdat de I/O-bewerking is voltooid.

Van toepassing op