Overlapped.Pack Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Packt die aktuelle Instanz in eine NativeOverlapped-Struktur.
Überlädt
Pack(IOCompletionCallback) |
Veraltet.
Veraltet.
Veraltet.
Packt die aktuelle Instanz in eine NativeOverlapped-Struktur und gibt den Delegaten an, der aufgerufen werden soll, wenn der asynchrone E/A-Vorgang abgeschlossen ist. |
Pack(IOCompletionCallback, Object) |
Packt die aktuelle Instanz in eine NativeOverlapped-Struktur und gibt einen Delegaten, der aufgerufen wird, wenn der asynchrone E/A-Vorgang abgeschlossen ist, und ein verwaltetes Objekt an, das als Puffer dient. |
Pack(IOCompletionCallback)
- Quelle:
- Overlapped.cs
- Quelle:
- Overlapped.cs
- Quelle:
- Overlapped.cs
Achtung
This method is not safe. Use Pack (iocb, userData) instead. https://go.microsoft.com/fwlink/?linkid=14202
Achtung
This overload is not safe and has been deprecated. Use Pack(IOCompletionCallback?, object?) instead.
Achtung
This method is not safe. Use Pack (iocb, userData) instead. http://go.microsoft.com/fwlink/?linkid=14202
Wichtig
Diese API ist nicht CLS-kompatibel.
Packt die aktuelle Instanz in eine NativeOverlapped-Struktur und gibt den Delegaten an, der aufgerufen werden soll, wenn der asynchrone E/A-Vorgang abgeschlossen ist.
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>
Parameter
- iocb
- IOCompletionCallback
Ein IOCompletionCallback-Delegat, der die Rückrufmethode darstellt, die aufgerufen wird, wenn der asynchrone E/A-Vorgang abgeschlossen ist.
Gibt zurück
Ein nicht verwalteter Zeiger auf eine NativeOverlapped-Struktur.
- Attribute
Ausnahmen
Die aktuelle Overlapped-Klasse wurde bereits gepackt.
Hinweise
Der von dieser Methode zurückgegebene nicht verwaltete Zeiger kann in überlappenden E/A-Vorgängen an das Betriebssystem übergeben werden. Die NativeOverlapped Struktur wird im physischen Arbeitsspeicher behoben, bis Unpack sie aufgerufen wird.
Wichtig
Der Aufrufer ist für das Anheften des Puffers verantwortlich. Wenn die Anwendungsdomäne jedoch entladen wird, wird das Handle für den angehefteten Puffer zerstört, und der Puffer wird freigegeben, sodass der E/A-Vorgang in die freigegebene Adresse schreiben kann. Aus diesem Grund ist es besser, die Pack(IOCompletionCallback, Object) Methodenüberladung zu verwenden, bei der die Runtime den Puffer anheftet.
Gilt für:
Pack(IOCompletionCallback, Object)
- Quelle:
- Overlapped.cs
- Quelle:
- Overlapped.cs
- Quelle:
- Overlapped.cs
Wichtig
Diese API ist nicht CLS-kompatibel.
Packt die aktuelle Instanz in eine NativeOverlapped-Struktur und gibt einen Delegaten, der aufgerufen wird, wenn der asynchrone E/A-Vorgang abgeschlossen ist, und ein verwaltetes Objekt an, das als Puffer dient.
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>
Parameter
- iocb
- IOCompletionCallback
Ein IOCompletionCallback-Delegat, der die Rückrufmethode darstellt, die aufgerufen wird, wenn der asynchrone E/A-Vorgang abgeschlossen ist.
- userData
- Object
Ein Objekt oder ein Objektarray, das den Eingabe- oder den Ausgabepuffer für den Vorgang darstellt. Jedes Objekt stellt einen Puffer dar, z. B. ein Array von Bytes.
Gibt zurück
Ein nicht verwalteter Zeiger auf eine NativeOverlapped-Struktur.
- Attribute
Ausnahmen
Die aktuelle Overlapped-Klasse wurde bereits gepackt.
Hinweise
Der von dieser Methode zurückgegebene nicht verwaltete Zeiger kann in überlappenden E/A-Vorgängen an das Betriebssystem übergeben werden. Die NativeOverlapped Struktur wird im physischen Arbeitsspeicher behoben, bis Unpack sie aufgerufen wird.
Der in userData
angegebene Puffer oder puffer muss mit denen identisch sein, die an die nicht verwaltete Betriebssystemfunktion übergeben werden, die die asynchrone E/A ausführt.
Hinweis
Die Laufzeit heftet den bzw. die in userData
angegebenen Puffer für die Dauer des E/A-Vorgangs an. Wenn die Anwendungsdomäne entladen wird, bleibt der Arbeitsspeicher von der Runtime so lange angeheftet, bis der E/A-Vorgang abgeschlossen ist.