ThreadPool.UnsafeQueueUserWorkItem(WaitCallback, Object) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.