ThreadPool.UnsafeQueueUserWorkItem(WaitCallback, Object) Méthode

Définition

Met en file d’attente le délégué spécifié au pool de threads, mais ne propage pas la pile appelante vers le thread de travail.

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

Paramètres

callBack
WaitCallback

Qui WaitCallback représente le délégué à appeler lorsqu’un thread du pool de threads récupère l’élément de travail.

state
Object

Objet passé au délégué lorsqu’il est mis en service à partir du pool de threads.

Retours

true si la méthode réussit ; OutOfMemoryException est levée si l’élément de travail n’a pas pu être mis en file d’attente.

Attributs

Exceptions

L’appelant n’a pas l’autorisation requise.

Une condition de mémoire insuffisante a été rencontrée.

L’élément de travail n’a pas pu être mis en file d’attente.

callBack a la valeur null.

Remarques

Contrairement à la QueueUserWorkItem méthode, UnsafeQueueUserWorkItem ne propage pas la pile appelante au thread de travail. Cela permet au code de perdre la pile appelante et ainsi d’élever ses privilèges de sécurité.

Avertissement

L’utilisation UnsafeQueueUserWorkItem pourrait ouvrir par inadvertance un trou de sécurité. La sécurité de l’accès au code base ses contrôles d’autorisation sur les autorisations de tous les appelants sur la pile. Lorsque le travail est mis en file d’attente sur un thread de pool de threads à l’aide UnsafeQueueUserWorkItemd’un thread de pool de threads, la pile du thread de pool de threads n’aura pas le contexte des appelants réels. Le code malveillant peut être en mesure d’exploiter cela pour éviter les vérifications d’autorisation.

S’applique à

Voir aussi