CreateWaitableTimerW

待機可能タイマーオブジェクトを作成または開く。

CreateWaitableTimerW lpTimerAttributes, bManualReset, lpTimerName

lpTimerAttributes : [var] 新しいタイマーオブジェクトのセキュリティ記述子を指定し、返されたハンドルを子プロセスが継承できるかを決定する SECURITY_ATTRIBUTES 構造体へのポインタ。lpTimerAttributes が NULL の場合、タイマーオブジェクトはデフォルトセキュリティ記述子を取得しハンドルは継承できない。タイマーのデフォルトセキュリティ記述子の ACL は作成者のプライマリトークンまたは偽装トークンに由来する。
bManualReset : [int] このパラメータが TRUE の場合、タイマーは手動リセット通知タイマーとなる。それ以外の場合は同期タイマーとなる。
lpTimerName : [wstr] タイマーオブジェクトの名前。名前は MAX_PATH 文字までに制限される。名前比較は大文字小文字を区別する。

(プラグイン / モジュール : kernel32.dll)

解説

待機可能タイマーオブジェクトを作成または開く。

[戻り値]

関数が成功した場合、戻り値はタイマーオブジェクトへのハンドルである。関数呼び出しの前に名前付きタイマーオブジェクトが存在していた場合、関数は既存オブジェクトへのハンドルを返し、GetLastError
は ERROR_ALREADY_EXISTS を返す。関数が失敗した場合、戻り値は NULL である。拡張エラー情報を取得するには
GetLastError を呼ぶ。

[備考]
CreateWaitableTimer によって返されるハンドルは TIMER_ALL_ACCESS
アクセス権で作成される。呼び出し側にアクセスが許可されていれば、タイマーオブジェクトへのハンドルを必要とする任意の関数で使用できる。タイマーが別ユーザーを偽装しているサービスやスレッドから作成された場合、作成時にタイマーへセキュリティ記述子を適用するか、作成プロセスのデフォルト
DACL を変更してデフォルトセキュリティ記述子を変更することができる。詳細は Synchronization Object
Security and Access Rights
を参照。呼び出し側プロセスの任意のスレッドが、待機関数の呼び出しでタイマーオブジェクトハンドルを指定できる。複数のプロセスが同じタイマーオブジェクトへのハンドルを持つことができ、プロセス間同期に使用できる。
(以下省略)

情報

プラグイン / モジュールkernel32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_kernel32_gen2.hs