ThreadPool.UnsafeQueueUserWorkItem(WaitCallback, Object) Metoda

Definicja

Kolejkuje określonego delegata do puli wątków, ale nie propaguje stosu wywołań do wątku roboczego.

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

Parametry

callBack
WaitCallback

Element WaitCallback reprezentujący delegata do wywołania, gdy wątek w puli wątków pobiera element roboczy.

state
Object

Obiekt przekazywany do delegata podczas obsługi z puli wątków.

Zwraca

true jeśli metoda powiedzie się; OutOfMemoryException jest zgłaszany, jeśli nie można kolejkować elementu roboczego.

Atrybuty

Wyjątki

Obiekt wywołujący nie ma wymaganych uprawnień.

Napotkano warunek braku pamięci.

Nie można utworzyć kolejki elementu roboczego.

Parametr callBack ma wartość null.

Uwagi

QueueUserWorkItem W przeciwieństwie do metody UnsafeQueueUserWorkItem nie propaguje stosu wywołań do wątku roboczego. Dzięki temu kod może utracić stos wywołań, a tym samym podnieść jego uprawnienia zabezpieczeń.

Caution

Użycie UnsafeQueueUserWorkItem może przypadkowo otworzyć dziurę bezpieczeństwa. Zabezpieczenia dostępu kodu bazują na uprawnieniach wszystkich wywołujących na stosie. Gdy praca jest kolejkowana w wątku puli wątków przy użyciu metody UnsafeQueueUserWorkItem, stos wątku puli wątków nie będzie miał kontekstu rzeczywistych wywołań. Złośliwy kod może wykorzystać ten kod, aby uniknąć kontroli uprawnień.

Dotyczy

Zobacz też