Udostępnij za pośrednictwem


Overlapped.UnsafePack Metoda

Definicja

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ń.

Dotyczy