QueueUserAPC APC関数をキューに追加

Cの宣言:

DWORD QueueUserAPC(PAPCFUNC UserAPC, HANDLE hThread, DWORD Data);

説明:

APC関数を指定されたスレッドのAPCキューに追加する。追加された関数は、スレッドがアラート可能な待機状態になったときに実行される。

この関数はNT4.0以降で使用可能である。

引数の意味は、以下の通り。
UserAPC キューにためるAPC関数を指すポインタ
hThread どのスレッドのAPCキューにためるかを指定するスレッドのハンドル
Data APC関数実行時にAPC関数に渡される32bit値。

関数の実行に成功した場合、TRUEが返される。失敗した場合、FALSEが返される。

Cのサンプル:

void APIENTRY DoUserAPC(DWORD Data)
{
	printf("UserAPC(param = %d)\n", Data);
}

Void DoQueueUserAPC()
{
	/* APC関数をキューに追加する */
	QueueUserAPC(DoUserAPC, GetCurrentThread(), 0);
	QueueUserAPC(DoUserAPC, GetCurrentThread(), 1);

	/* スレッドをアラート可能な待機状態にし、キューにためられたAPC関数を実行する */
	SleepEx(0, TRUE);
}

(original text:1998/12/25 更新)

本ドキュメントの内容は保証しません。本ドキュメントによって生じた結果について、一切の責任を負いません。