Overlapped.UnsafePack Yöntem

Tanım

Geçerli örneği bir NativeOverlapped yapıda paketler. Çağrı yığınını yaymıyor.

Aşırı Yüklemeler

Name Description
UnsafePack(IOCompletionCallback)
Geçersiz.
Geçersiz.
Geçersiz.

Zaman uyumsuz G/Ç işlemi tamamlandığında çağrılacak temsilciyi belirten bir NativeOverlapped yapıda geçerli örneği paketler. Çağrı yığınını yaymıyor.

UnsafePack(IOCompletionCallback, Object)

Zaman uyumsuz G/Ç işlemi tamamlandığında çağrılacak temsilciyi ve arabellek görevi görecek yönetilen nesneyi belirterek geçerli örneği bir NativeOverlapped yapıda paketler. Çağrı yığınını yaymıyor.

UnsafePack(IOCompletionCallback)

Kaynak:
Overlapped.cs
Kaynak:
Overlapped.cs
Kaynak:
Overlapped.cs
Kaynak:
Overlapped.cs
Kaynak:
Overlapped.cs

Dikkat

This overload is not safe and has been deprecated. Use UnsafePack(IOCompletionCallback?, object?) instead.

Dikkat

This method is not safe. Use UnsafePack (iocb, userData) instead. https://go.microsoft.com/fwlink/?linkid=14202

Dikkat

This method is not safe. Use UnsafePack (iocb, userData) instead. http://go.microsoft.com/fwlink/?linkid=14202

Önemli

Bu API, CLS uyumlu değildir.

Zaman uyumsuz G/Ç işlemi tamamlandığında çağrılacak temsilciyi belirten bir NativeOverlapped yapıda geçerli örneği paketler. Çağrı yığınını yaymıyor.

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>

Parametreler

iocb
IOCompletionCallback

IOCompletionCallback Zaman uyumsuz G/Ç işlemi tamamlandığında çağrılan geri çağırma yöntemini temsil eden bir temsilci.

Döndürülenler

Bir yapıya yönelik yönetilmeyen işaretçi NativeOverlapped .

Öznitelikler

Özel durumlar

Geçerli Overlapped zaten paketlenmiş.

Açıklamalar

Bu yöntem tarafından döndürülen yönetilmeyen işaretçi, çakışan G/Ç işlemlerinde işletim sistemine geçirilebilir. Yapı NativeOverlapped , çağrılana kadar Unpack fiziksel bellekte sabittir.

Arabelleği sabitlemek çağıran sorumludur. Ancak uygulama etki alanı kaldırılırsa, sabitlenmiş arabelleğin tanıtıcısı yok edilir ve arabellek serbest bırakılmış adrese yazılacak G/Ç işlemi bırakılır. Bu nedenle, çalışma zamanının UnsafePack(IOCompletionCallback, Object) arabelleği sabitlediği yöntem aşırı yüklemesini kullanmak daha iyidir.

Caution

yöntemini kullanmak UnsafePack istemeden bir güvenlik deliği açabilir. Kod erişimi güvenliği, izin denetimlerini yığındaki tüm çağıranların izinlerine göre temel alır. UnsafePack yöntemi çağrı yığınını yaymıyor. Kötü amaçlı kod, izin denetimlerini önlemek için bu durumdan yararlanabilir.

Şunlara uygulanır

UnsafePack(IOCompletionCallback, Object)

Kaynak:
Overlapped.cs
Kaynak:
Overlapped.cs
Kaynak:
Overlapped.cs
Kaynak:
Overlapped.cs
Kaynak:
Overlapped.cs

Önemli

Bu API, CLS uyumlu değildir.

Zaman uyumsuz G/Ç işlemi tamamlandığında çağrılacak temsilciyi ve arabellek görevi görecek yönetilen nesneyi belirterek geçerli örneği bir NativeOverlapped yapıda paketler. Çağrı yığınını yaymıyor.

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>

Parametreler

iocb
IOCompletionCallback

IOCompletionCallback Zaman uyumsuz G/Ç işlemi tamamlandığında çağrılan geri çağırma yöntemini temsil eden bir temsilci.

userData
Object

İşlem için giriş veya çıkış arabelleği temsil eden bir nesne veya nesne dizisi. Her nesne bir arabelleği, örneğin bayt dizisini temsil eder.

Döndürülenler

Bir yapıya yönelik yönetilmeyen işaretçi NativeOverlapped .

Öznitelikler

Özel durumlar

Çağıranın gerekli izni yok.

Geçerli Overlapped zaten paketlenmiş.

Açıklamalar

Bu yöntem tarafından döndürülen yönetilmeyen işaretçi, çakışan G/Ç işlemlerinde işletim sistemine geçirilebilir. Yapı NativeOverlapped , çağrılana kadar Unpack fiziksel bellekte sabittir.

içinde userData belirtilen arabellek veya arabellekler, zaman uyumsuz G/Ç'yi gerçekleştiren yönetilmeyen işletim sistemi işlevine geçirilenlerle aynı olmalıdır.

Çalışma zamanı, G/Ç işlemi süresi boyunca içindeuserData belirtilen arabelleği veya arabellekleri sabitler. Uygulama etki alanı kaldırılırsa, G/Ç işlemi tamamlanana kadar çalışma zamanı belleği sabitlenmiş olarak tutar.

Caution

yöntemini kullanmak UnsafePack istemeden bir güvenlik deliği açabilir. Kod erişimi güvenliği, izin denetimlerini yığındaki tüm çağıranların izinlerine göre temel alır. UnsafePack yöntemi çağrı yığınını yaymıyor. Kötü amaçlı kod, izin denetimlerini önlemek için bu durumdan yararlanabilir.

Şunlara uygulanır