システム関数:イベントの管理

CreateEvent

新しいイベントを登録します。

HNsmEvent __stdcall CreateEvent(
    LPCSTR EventName
);
引数
EventName
作成したいイベントのイベント名。既に同名のイベントが登録されている場合、この関数は失敗します。
戻り値
成功した場合は、作成したイベントのハンドルを、失敗した場合は0を返します。

GetEvent

イベントの通知に必要なイベントのハンドルを取得します。GetEvent関数はハッシュリストからイベントを検索する処理が必要なため低速です。頻繁に通知する必要があるイベントにおいては、呼び出し側でイベントのハンドルを保存しておくことによって検索処理のオーバーヘッドを回避することができます。

HNsmEvent __stdcall GetEvent(
    LPCSTR EventName
);
引数
lpServiceName
取得したいイベントのイベント名。指定されたイベント名のイベントが登録されていない場合、この関数は失敗します。
戻り値
成功した場合は、指定したイベントのハンドルを、失敗した場合は0を返します。

NotifyEvent

指定されたイベントを通知します。当該イベントに対応したイベント処理が登録されている場合は、これらが実行されます。イベント処理が複数登録されている場合、これらが実行される順番は登録順になります。

int __stdcall NotifyEvent(
    HNsmEvent EventHandle,
    WPARAM wParam,
    LPARAM lParam
);
引数
EventHandle
通知するイベントのハンドル。GetEvent関数で取得します。
wParam
イベント処理関数に渡す第1引数
lParam
イベント処理関数に渡す第2引数
戻り値
0

HookEvent

イベント処理関数を登録します。NotifyEvent関数によって当該イベントが通知される度に、登録されたイベント処理関数が実行されます。

int __stdcall HookEvent(
    LPCSTR EventName,
    TNsmEventProc ProcAddr
);
引数
EventName
イベント処理を登録したいイベント名。指定されたイベント名のイベントが存在しない場合、この関数は失敗します。
ProcAddr
イベント処理関数のポインタ。
戻り値
成功した場合は0以外を返します。

UnhookEvent

登録されているイベント処理を削除します。

int __stdcall UnhookEvent(
    LPCSTR EventName,
    TNsmEventProc ProcAddr
);
引数
EventName
イベント処理を削除したいイベント名。指定されたイベント名のイベントが存在しない場合、この関数は失敗します。
ProcAddr
イベント処理関数のポインタ。
戻り値
成功した場合は0以外を返します。