IOCS _KEY_INIT
をフックする。
#include <condrv.h>
int condrv_hook_keyinit(void* addr);
condrv_hook_keyinit()
関数は、IOCS _KEY_INIT
の処理をフックし、
addr
で指定した関数が呼ばれるように設定する。
condrv(em).sysはIOCS _KEY_INIT
の処理アドレスを介したAPIを使用しているので、
同コールの処理アドレスを外部のプログラムに設定することができない。
よって、condrv_hook_keyinit()
関数は実際にIOCS _KEY_INIT
をフックするのではなく、
condrv(em).sysから呼び出すアドレスを内部ワークに設定している。
以前に設定されていたIOCS _KEY_INIT
の処理アドレスを返す。
エラーが発生した場合は負数を返す。
addr
はIOCSコールとして作成された関数(サブルーチン)でなければならない。
libcondrv