ThreadPool.UnsafeQueueUserWorkItem(WaitCallback, Object) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengantrekan delegasi yang ditentukan ke kumpulan utas, tetapi tidak menyebarluaskan tumpukan panggilan ke utas pekerja.
public:
static bool UnsafeQueueUserWorkItem(System::Threading::WaitCallback ^ callBack, System::Object ^ state);
public static bool UnsafeQueueUserWorkItem(System.Threading.WaitCallback callBack, object state);
[System.Security.SecurityCritical]
public static bool UnsafeQueueUserWorkItem(System.Threading.WaitCallback callBack, object state);
static member UnsafeQueueUserWorkItem : System.Threading.WaitCallback * obj -> bool
[<System.Security.SecurityCritical>]
static member UnsafeQueueUserWorkItem : System.Threading.WaitCallback * obj -> bool
Public Shared Function UnsafeQueueUserWorkItem (callBack As WaitCallback, state As Object) As Boolean
Parameter
- callBack
- WaitCallback
WaitCallback yang mewakili delegasi untuk dipanggil saat utas di kumpulan utas mengambil item kerja.
- state
- Object
Objek yang diteruskan ke delegasi saat dilayankan dari kumpulan utas.
Mengembalikan
true jika metode berhasil; OutOfMemoryException dilemparkan jika item kerja tidak dapat diantrekan.
- Atribut
Pengecualian
Pemanggil tidak memiliki izin yang diperlukan.
Kondisi kehabisan memori ditemui.
Item kerja tidak dapat diantrekan.
callBack adalah null.
Keterangan
Tidak seperti metode , QueueUserWorkItemUnsafeQueueUserWorkItem tidak menyebarluaskan tumpukan panggilan ke utas pekerja. Ini memungkinkan kode untuk kehilangan tumpukan panggilan dan dengan demikian untuk meningkatkan hak istimewa keamanannya.
Caution
Menggunakan UnsafeQueueUserWorkItem secara tidak sengaja dapat membuka lubang keamanan. Keamanan akses kode mendasarkan pemeriksaan izinnya pada izin semua pemanggil di tumpukan. Ketika pekerjaan diantrekan pada utas kumpulan utas menggunakan UnsafeQueueUserWorkItem, tumpukan utas kumpulan utas tidak akan memiliki konteks pemanggil yang sebenarnya. Kode berbahaya mungkin dapat mengeksploitasi ini untuk menghindari pemeriksaan izin.