<Return[C]><Top>

CreateWaitableTimer

Declare Function Api_CreateWaitableTimer& Lib "kernel32" Alias "CreateWaitableTimerA" (ByVal lpSemaphoreAttributes&, ByVal bManualReset&, ByVal lpName$)

Declare Function CreateWaitableTimer Lib "kernel32" Alias "CreateWaitableTimerA" (ByVal lpSemaphoreAttributes As Long, ByVal bManualReset As Long, ByVal lpName As String) As Long

“待機可能”タイマオブジェクトを作成する。

パラメータ
lpTimerAttributes
    SECURITY_ATTRIBUTES 構造体へのポインタを指定する。

    この構造体では、新しいタイマオブジェクトのセキュリティ記述子と、取得したハンドルの継承を子プロセスに許可するかどうかを指定してお

    く。NULL を指定すると、タイマオブジェクトに既定のセキュリティ記述子が割り当てられ、ハンドルは継承できない。
bManualReset
    タイマの種類を指定する。TRUE を指定すると、手動リセット通知タイマが作成される。

    それ以外の値を指定すると、同期タイマが作成される。
lpTimerName
    タイマオブジェクトの名前を表す NULL で終わる文字列へのポインタを指定する。

    この名前は MAX_PATH 文字以内で、パスの区切り文字である円記号(\)を除くどの文字でも使えます。

    名前を比較するときには、大文字小文字が区別される。
    lpTimerName が指す文字列が既存の名前付きタイマオブジェクトの名前と一致すると、関数は成功するが、GetLastError 関数

    が ERROR_ALREADY_EXISTS を返す。
    lpTimerName に NULL を指定すると、タイマオブジェクトが名前なしで作成される。
    lpTimerName が既存のイベントオブジェクト、セマフォオブジェクト、ミューテックスオブジェクト、ジョブオブジェクト、またはファイルマッピング

    オブジェクトの名前と一致すると、関数は失敗し、GetLastError 関数が ERROR_INVALID_HANDLE を返する。これらのオブジェクト

    が同じ名前空間を共有しているためである。

戻り値
    関数が成功すると、タイマオブジェクトのハンドルが返る。

    同じ名前のタイマオブジェクトがすでに存在する場合は、そのオブジェクトのハンドルが返る。

    その場合は、GetLastError 関数が ERROR_ALREADY_EXISTS を返す。
    関数が失敗すると、NULL が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。