コールバックがすぐに戻らない可能性があることを示す。
CallbackMayRunLong pci
pci : [intptr] コールバックインスタンスを定義する TP_CALLBACK_INSTANCE 構造体へのポインタ。このポインタはコールバック関数に渡される。
(プラグイン / モジュール : kernel32.dll)
コールバックがすぐに戻らない可能性があることを示す。 [戻り値] 関数は、スレッドプール内にコールバック処理に利用できる別スレッドがあるか、またはスレッドプールが新しいスレッドを作成できた場合に TRUE を返す。この場合、現在のコールバック関数は現在のスレッドを無制限に使用してよい。関数は、スレッドプール内にコールバック処理に利用できる別スレッドがなく、スレッドプールが新しいスレッドを作成できなかった場合に FALSE を返す。スレッドプールは遅延後に新しいスレッドの作成を試みるが、現在のコールバック関数が長時間実行されるとスレッドプールの効率が低下する可能性がある。 [備考] スレッドプールはこの情報を使って、新しいスレッドを作成すべきタイミングをより適切に判断できる。CallbackMayRunLong 関数はコールバックを処理中のスレッドからのみ呼ぶべきである。別のスレッドから呼ぶとレースコンディションを引き起こすおそれがある。CallbackMayRunLong 関数はコールバック処理用のスレッドが利用可能かどうかや、スレッドプールが新しいスレッドを割り当てられるかどうかに関わらず、常にコールバックを長時間実行としてマークする。したがって、FALSE を返した場合であってもこの関数は一度だけ呼ぶべきである。この関数を使用するアプリケーションをコンパイルするには、_WIN32_WINNT を 0x0600 以降として定義する。
| プラグイン / モジュール | kernel32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_kernel32_gen2.hs |