Overlapped.UnsafePack Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pakuje bieżące wystąpienie do NativeOverlapped struktury. Nie propaguje stosu wywołującego.
Przeciążenia
UnsafePack(IOCompletionCallback) |
Przestarzałe.
Przestarzałe.
Przestarzałe.
Pakuje bieżące wystąpienie w NativeOverlapped strukturę określającą delegata do wywołania po zakończeniu asynchronicznej operacji we/wy. Nie propaguje stosu wywołującego. |
UnsafePack(IOCompletionCallback, Object) |
Pakuje bieżące wystąpienie do NativeOverlapped struktury, określając delegata, który ma być wywoływany po zakończeniu asynchronicznej operacji we/wy i zarządzanym obiekcie, który służy jako bufor. Nie propaguje stosu wywołującego. |
UnsafePack(IOCompletionCallback)
- Źródło:
- Overlapped.cs
- Źródło:
- Overlapped.cs
- Źródło:
- Overlapped.cs
Przestroga
This method is not safe. Use UnsafePack (iocb, userData) instead. https://go.microsoft.com/fwlink/?linkid=14202
Przestroga
This overload is not safe and has been deprecated. Use UnsafePack(IOCompletionCallback?, object?) instead.
Przestroga
This method is not safe. Use UnsafePack (iocb, userData) instead. http://go.microsoft.com/fwlink/?linkid=14202
Ważne
Ten interfejs API nie jest zgodny ze specyfikacją CLS.
Pakuje bieżące wystąpienie w NativeOverlapped strukturę określającą delegata do wywołania po zakończeniu asynchronicznej operacji we/wy. Nie propaguje stosu wywołującego.
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.")]
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 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 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. 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>
Parametry
- iocb
- IOCompletionCallback
Delegat IOCompletionCallback reprezentujący metodę wywołania zwrotnego wywoływaną po zakończeniu asynchronicznej operacji we/wy.
Zwraca
Niezarządzany wskaźnik do NativeOverlapped struktury.
- Atrybuty
Wyjątki
Prąd Overlapped został już zapakowany.
Uwagi
Niezarządzany wskaźnik zwrócony przez tę metodę można przekazać do systemu operacyjnego w nakładających się operacjach we/wy. Struktura NativeOverlapped jest stała w pamięci fizycznej, dopóki Unpack nie zostanie wywołana.
Obiekt wywołujący jest odpowiedzialny za przypinanie buforu. Jeśli jednak domena aplikacji zostanie zwolniona, dojście do przypiętego buforu zostanie zniszczone, a bufor zostanie zwolniony, pozostawiając operację we/wy do zapisania na wolny adres. Z tego powodu lepiej jest użyć UnsafePack(IOCompletionCallback, Object) przeciążenia metody, w którym środowisko uruchomieniowe przypina bufor.
Przestroga
UnsafePack Użycie metody może przypadkowo otworzyć dziurę zabezpieczeń. Zabezpieczenia dostępu do kodu opierają swoje uprawnienia sprawdza uprawnienia wszystkich wywołujących na stosie. Metoda UnsafePack nie propaguje stosu wywołującego. Złośliwy kod może wykorzystać ten kod, aby uniknąć kontroli uprawnień.
Dotyczy
UnsafePack(IOCompletionCallback, Object)
- Źródło:
- Overlapped.cs
- Źródło:
- Overlapped.cs
- Źródło:
- Overlapped.cs
Ważne
Ten interfejs API nie jest zgodny ze specyfikacją CLS.
Pakuje bieżące wystąpienie do NativeOverlapped struktury, określając delegata, który ma być wywoływany po zakończeniu asynchronicznej operacji we/wy i zarządzanym obiekcie, który służy jako bufor. Nie propaguje stosu wywołującego.
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>
Parametry
- iocb
- IOCompletionCallback
Delegat IOCompletionCallback reprezentujący metodę wywołania zwrotnego wywoływaną po zakończeniu asynchronicznej operacji we/wy.
- userData
- Object
Obiekt lub tablica obiektów reprezentujących bufor wejściowy lub wyjściowy dla operacji. Każdy obiekt reprezentuje bufor, na przykład tablicę bajtów.
Zwraca
Niezarządzany wskaźnik do NativeOverlapped struktury.
- Atrybuty
Wyjątki
Obiekt wywołujący nie posiada wymaganych uprawnień.
Prąd Overlapped jest już zapakowany.
Uwagi
Niezarządzany wskaźnik zwrócony przez tę metodę można przekazać do systemu operacyjnego w nakładających się operacjach we/wy. Struktura NativeOverlapped jest stała w pamięci fizycznej, dopóki Unpack nie zostanie wywołana.
Bufor lub bufory określone w userData
pliku muszą być takie same jak te przekazywane do niezarządzanej funkcji systemu operacyjnego, która wykonuje asynchroniczne operacje we/wy.
Środowisko uruchomieniowe przypina bufor lub bufory określone wuserData
parametrze na czas trwania operacji we/wy. Jeśli domena aplikacji zostanie zwolniona, środowisko uruchomieniowe przechowuje pamięć przypiętą do momentu zakończenia operacji we/wy.
Przestroga
UnsafePack Użycie metody może przypadkowo otworzyć dziurę zabezpieczeń. Zabezpieczenia dostępu do kodu opierają swoje uprawnienia sprawdza uprawnienia wszystkich wywołujących na stosie. Metoda UnsafePack nie propaguje stosu wywołującego. Złośliwy kod może wykorzystać ten kod, aby uniknąć kontroli uprawnień.