Overlapped.UnsafePack Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee wordt het huidige exemplaar in een NativeOverlapped structuur verpakt. De aanroepstack wordt niet doorgegeven.
Overloads
| Name | Description |
|---|---|
| UnsafePack(IOCompletionCallback) |
Verouderd.
Verouderd.
Verouderd.
Hiermee wordt het huidige exemplaar in een NativeOverlapped structuur verpakt die de gemachtigde opgeeft die moet worden aangeroepen wanneer de asynchrone I/O-bewerking is voltooid. De aanroepstack wordt niet doorgegeven. |
| UnsafePack(IOCompletionCallback, Object) |
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 en het beheerde object dat als buffer fungeert. De aanroepstack wordt niet doorgegeven. |
UnsafePack(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 UnsafePack(IOCompletionCallback?, object?) instead.
Let op
This method is not safe. Use UnsafePack (iocb, userData) instead. https://go.microsoft.com/fwlink/?linkid=14202
Let op
This method is not safe. Use UnsafePack (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 die de gemachtigde opgeeft die moet worden aangeroepen wanneer de asynchrone I/O-bewerking is voltooid. De aanroepstack wordt niet doorgegeven.
public:
System::Threading::NativeOverlapped* UnsafePack(System::Threading::IOCompletionCallback ^ iocb);
[System.CLSCompliant(false)]
[System.Obsolete("This overload is not safe and has been deprecated. Use UnsafePack(IOCompletionCallback?, object?) instead.")]
public System.Threading.NativeOverlapped* UnsafePack(System.Threading.IOCompletionCallback? iocb);
[System.CLSCompliant(false)]
[System.Obsolete("This method is not safe. Use UnsafePack (iocb, userData) instead. https://go.microsoft.com/fwlink/?linkid=14202")]
public System.Threading.NativeOverlapped* UnsafePack(System.Threading.IOCompletionCallback? iocb);
[System.CLSCompliant(false)]
[System.Obsolete("This method is not safe. Use UnsafePack (iocb, userData) instead. http://go.microsoft.com/fwlink/?linkid=14202")]
public System.Threading.NativeOverlapped* UnsafePack(System.Threading.IOCompletionCallback iocb);
[System.CLSCompliant(false)]
public System.Threading.NativeOverlapped* UnsafePack(System.Threading.IOCompletionCallback iocb);
[System.CLSCompliant(false)]
[System.Obsolete("This method is not safe. Use UnsafePack (iocb, userData) instead. http://go.microsoft.com/fwlink/?linkid=14202")]
[System.Security.SecurityCritical]
public System.Threading.NativeOverlapped* UnsafePack(System.Threading.IOCompletionCallback iocb);
[System.CLSCompliant(false)]
[System.Obsolete("This method is not safe. Use UnsafePack (iocb, userData) instead. https://go.microsoft.com/fwlink/?linkid=14202")]
public System.Threading.NativeOverlapped* UnsafePack(System.Threading.IOCompletionCallback iocb);
[<System.CLSCompliant(false)>]
[<System.Obsolete("This overload is not safe and has been deprecated. Use UnsafePack(IOCompletionCallback?, object?) instead.")>]
member this.UnsafePack : System.Threading.IOCompletionCallback -> nativeptr<System.Threading.NativeOverlapped>
[<System.CLSCompliant(false)>]
[<System.Obsolete("This method is not safe. Use UnsafePack (iocb, userData) instead. https://go.microsoft.com/fwlink/?linkid=14202")>]
member this.UnsafePack : System.Threading.IOCompletionCallback -> nativeptr<System.Threading.NativeOverlapped>
[<System.CLSCompliant(false)>]
[<System.Obsolete("This method is not safe. Use UnsafePack (iocb, userData) instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
member this.UnsafePack : System.Threading.IOCompletionCallback -> nativeptr<System.Threading.NativeOverlapped>
[<System.CLSCompliant(false)>]
member this.UnsafePack : System.Threading.IOCompletionCallback -> nativeptr<System.Threading.NativeOverlapped>
[<System.CLSCompliant(false)>]
[<System.Obsolete("This method is not safe. Use UnsafePack (iocb, userData) instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
[<System.Security.SecurityCritical>]
member this.UnsafePack : 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.
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 UnsafePack(IOCompletionCallback, Object) methode te gebruiken, waarbij de runtime de buffer vaststelt.
Caution
Met behulp van de UnsafePack methode kan per ongeluk een beveiligingsgat worden geopend. Codetoegangsbeveiliging baseert de machtigingscontroles op de machtigingen van alle bellers op de stack. De UnsafePack methode geeft de aanroepstack niet door. Schadelijke code kan dit mogelijk misbruiken om machtigingscontroles te voorkomen.
Van toepassing op
UnsafePack(IOCompletionCallback, Object)
- Bron:
- Overlapped.cs
- Bron:
- Overlapped.cs
- Bron:
- Overlapped.cs
- Bron:
- Overlapped.cs
- Bron:
- Overlapped.cs
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 en het beheerde object dat als buffer fungeert. De aanroepstack wordt niet doorgegeven.
public:
System::Threading::NativeOverlapped* UnsafePack(System::Threading::IOCompletionCallback ^ iocb, System::Object ^ userData);
[System.CLSCompliant(false)]
public System.Threading.NativeOverlapped* UnsafePack(System.Threading.IOCompletionCallback? iocb, object? userData);
[System.CLSCompliant(false)]
public System.Threading.NativeOverlapped* UnsafePack(System.Threading.IOCompletionCallback iocb, object userData);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
public System.Threading.NativeOverlapped* UnsafePack(System.Threading.IOCompletionCallback iocb, object userData);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
[System.Security.SecurityCritical]
public System.Threading.NativeOverlapped* UnsafePack(System.Threading.IOCompletionCallback iocb, object userData);
[<System.CLSCompliant(false)>]
member this.UnsafePack : System.Threading.IOCompletionCallback * obj -> nativeptr<System.Threading.NativeOverlapped>
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.UnsafePack : System.Threading.IOCompletionCallback * obj -> nativeptr<System.Threading.NativeOverlapped>
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Security.SecurityCritical>]
member this.UnsafePack : 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 beller heeft niet de vereiste machtiging.
De huidige Overlapped is al verpakt.
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.
De runtime maakt de buffer of buffers vast die zijnuserData 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.
Caution
Met behulp van de UnsafePack methode kan per ongeluk een beveiligingsgat worden geopend. Codetoegangsbeveiliging baseert de machtigingscontroles op de machtigingen van alle bellers op de stack. De UnsafePack methode geeft de aanroepstack niet door. Schadelijke code kan dit mogelijk misbruiken om machtigingscontroles te voorkomen.