次の方法で共有


ThreadPool.UnsafeQueueUserWorkItem メソッド

ユーザーの作業項目をスレッド プールのキューに置きます。

Public Shared Function UnsafeQueueUserWorkItem( _
   ByVal callBack As WaitCallback, _   ByVal state As Object _) As Boolean
[C#]
public static bool UnsafeQueueUserWorkItem(WaitCallbackcallBack,objectstate);
[C++]
public: static bool UnsafeQueueUserWorkItem(WaitCallback* callBack,Object* state);
[JScript]
public static function UnsafeQueueUserWorkItem(
   callBack : WaitCallback,state : Object) : Boolean;

パラメータ

  • callBack
    スレッド プール内のスレッドが作業項目をピック アップするときに呼び出すデリゲートを表す WaitCallback
  • state
    スレッド プールから処理されるときにデリゲートに渡されるオブジェクト。

戻り値

メソッドが成功した場合は true 。それ以外の場合は false

例外

例外の種類 条件
SecurityException 呼び出し元に、必要なアクセス許可がありません。

解説

このバージョンの QueueUserWorkItem は、コール スタックをワーカー スレッドに反映しません。これにより、コードはコール スタックを失ってもかまわないようになり、その結果、セキュリティ特権が向上します。

注意    UnsafeQueueUserWorkItem を使用すると、セキュリティ ホールを意図せず開く可能性があります。コード アクセス セキュリティのアクセス許可チェックは、スタック上のすべての呼び出し元のアクセス許可を基にしています。 UnsafeQueueUserWorkItem を使用して作業がスレッド プール スレッドのキューに格納された場合、スレッド プール スレッドのスタックには、実際の呼び出し元のコンテキストが含まれません。悪意のあるコードはこれを利用してアクセス許可チェックを回避できる可能性があります。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

.NET Framework セキュリティ:

参照

ThreadPool クラス | ThreadPool メンバ | System.Threading 名前空間 | スレッド プーリング