Windows驱动必备的API

163博客迁移!

(一)监控注册表信息(CmRegisterCallback()):

typedef struct _CAPTURE_REGISTRY_MANAGER
{
PDEVICE_OBJECT deviceObject;
BOOLEAN bReady;
LARGE_INTEGER registryCallbackCookie;
LIST_ENTRY lQueuedRegistryEvents;
KTIMER connectionCheckerTimer;
KDPC connectionCheckerFunction;
KSPIN_LOCK lQueuedRegistryEventsSpinLock;
ULONG lastContactTime;
} CAPTURE_REGISTRY_MANAGER , *PCAPTURE_REGISTRY_MANAGER;
CAPTURE_REGISTRY_MANAGER g_RegistrContext;
memset(& g_RegistrContext,0,sizeof( g_RegistrContext));
CmRegisterCallback( RegistryCallback, & g_RegistrContext, & g_RegistrContext.registryCallbackCookie); 
NTSTATUS RegistryCallback(IN PVOID CallbackContext, IN PVOID Argument1, IN PVOID Argument2); ---这个就是注册表的监控函数了,一旦系统注册表修改,就会进入这个回调, 在这里可以读取任意的注册表的值,然后查看是否有被修改。
(二)进程的监控(PsSetCreateProcessNotifyRoutine()):
PsSetCreateProcessNotifyRoutine( pfpCreateProcessNotify,FALSE);
VOID pfpCreateProcessNotify(
   IN HANDLE  ParentId,
   IN HANDLE  ProcessId,
   IN BOOLEAN  Create
   )
----这个就是进程的监控函数,一旦有出现进程创建,则会进入该函数,可以查看进程是否和文件的进程匹配,子父关系

(三) ResourceFast Mutexes

http://www.cnblogs.com/gussing/archive/2012/12/31/2840602.html   ---<WDK的同步锁机制: Resource与Fast Mutexes>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值