Overlapped.Pack Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Compresse l'instance actuelle en une structure NativeOverlapped.
Surcharges
Pack(IOCompletionCallback) |
Obsolète.
Obsolète.
Obsolète.
Comprime l'instance actuelle dans une structure NativeOverlapped pour spécifier le délégué à appeler lorsque l'opération d'E/S asynchrone est terminée. |
Pack(IOCompletionCallback, Object) |
Comprime l'instance actuelle dans une structure NativeOverlapped pour spécifier un délégué qui est appelé lorsque l'opération d'E/S asynchrone est terminée et un objet managé qui sert de mémoire tampon. |
Pack(IOCompletionCallback)
- Source:
- Overlapped.cs
- Source:
- Overlapped.cs
- Source:
- Overlapped.cs
Attention
This method is not safe. Use Pack (iocb, userData) instead. https://go.microsoft.com/fwlink/?linkid=14202
Attention
This overload is not safe and has been deprecated. Use Pack(IOCompletionCallback?, object?) instead.
Attention
This method is not safe. Use Pack (iocb, userData) instead. http://go.microsoft.com/fwlink/?linkid=14202
Important
Cette API n’est pas conforme CLS.
Comprime l'instance actuelle dans une structure NativeOverlapped pour spécifier le délégué à appeler lorsque l'opération d'E/S asynchrone est terminée.
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>
Paramètres
- iocb
- IOCompletionCallback
Délégué IOCompletionCallback qui représente la méthode de rappel appelée lorsque l'opération asynchrone d'E/S est terminée.
Retours
Pointeur non managé vers une structure NativeOverlapped.
- Attributs
Exceptions
Le Overlapped en cours a déjà été compressé.
Remarques
Le pointeur non managé retourné par cette méthode peut être passé au système d’exploitation dans les opérations d’E/S qui se chevauchent. La NativeOverlapped structure est fixe en mémoire physique jusqu’à ce qu’elle Unpack soit appelée.
Important
L’appelant est responsable de l’épinglage de la mémoire tampon. Toutefois, si le domaine d’application est déchargé, le handle de la mémoire tampon épinglée est détruit et la mémoire tampon est libérée, laissant l’opération d’E/S écrire dans l’adresse libérée. Pour cette raison, il est préférable d’utiliser la surcharge de méthode Pack(IOCompletionCallback, Object) , dans laquelle le runtime épingle la mémoire tampon.
S’applique à
Pack(IOCompletionCallback, Object)
- Source:
- Overlapped.cs
- Source:
- Overlapped.cs
- Source:
- Overlapped.cs
Important
Cette API n’est pas conforme CLS.
Comprime l'instance actuelle dans une structure NativeOverlapped pour spécifier un délégué qui est appelé lorsque l'opération d'E/S asynchrone est terminée et un objet managé qui sert de mémoire tampon.
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>
Paramètres
- iocb
- IOCompletionCallback
Délégué IOCompletionCallback qui représente la méthode de rappel appelée lorsque l'opération asynchrone d'E/S est terminée.
- userData
- Object
Objet ou tableau d'objets représentant la mémoire tampon d'entrée ou de sortie pour l'opération. Chaque objet représente une mémoire tampon, par exemple un tableau d'octets.
Retours
Pointeur non managé vers une structure NativeOverlapped.
- Attributs
Exceptions
Le Overlapped en cours a déjà été compressé.
Remarques
Le pointeur non managé retourné par cette méthode peut être passé au système d’exploitation dans les opérations d’E/S qui se chevauchent. La NativeOverlapped structure est fixe en mémoire physique jusqu’à ce qu’elle Unpack soit appelée.
La ou les mémoires tampons spécifiées dans userData
doivent être identiques à celles passées à la fonction de système d’exploitation non managée qui effectue les E/S asynchrones.
Notes
Le runtime épingle la mémoire tampon ou les tampons spécifiés dans userData
pendant la durée de l’opération d’E/S. Si le domaine d’application est déchargé, le runtime conserve la mémoire épinglée jusqu’à ce que l’opération d’E/S se termine.