Overlapped.UnsafePack Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Geçerli örneği bir NativeOverlapped yapıya paketler. Çağrı yığınını yaymıyor.
Aşırı Yüklemeler
UnsafePack(IOCompletionCallback) |
Geçersiz.
Geçersiz.
Geçersiz.
Zaman uyumsuz G/Ç işlemi tamamlandığında çağrılacak temsilciyi belirten geçerli örneği bir NativeOverlapped yapıda 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ıya paketler. Çağrı yığınını yaymıyor. |
UnsafePack(IOCompletionCallback)
- Kaynak:
- Overlapped.cs
- Kaynak:
- Overlapped.cs
- Kaynak:
- Overlapped.cs
Dikkat
This method is not safe. Use UnsafePack (iocb, userData) instead. https://go.microsoft.com/fwlink/?linkid=14202
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. 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 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.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>
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ılır ve G/Ç işlemi serbest bırakılmış adrese yazılacak şekilde 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.
Dikkat
yöntemini kullanmak UnsafePack istemeden bir güvenlik deliği açabilir. Kod erişim güvenliği, izin denetimlerini yığındaki tüm çağıranların izinlerine dayandırmaktadı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
Ö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ıya 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 nesne veya nesne dizisi. Her nesne, bir bayt dizisi gibi bir arabelleği 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.
Dikkat
yöntemini kullanmak UnsafePack istemeden bir güvenlik deliği açabilir. Kod erişim güvenliği, izin denetimlerini yığındaki tüm çağıranların izinlerine dayandırmaktadır. UnsafePack yöntemi çağrı yığınını yaymıyor. Kötü amaçlı kod, izin denetimlerini önlemek için bu durumdan yararlanabilir.