21.driverbase-多线程PsCreateSystemThread
来源:互联网 发布:实时大数据平台spark 编辑:程序博客网 时间:2024/05/21 11:30
NTKERNELAPINTSTATUSPsCreateSystemThread( __out PHANDLE ThreadHandle,// 得到新创建的线程句柄 __in ULONG DesiredAccess,// 创建的权限 __in_opt POBJECT_ATTRIBUTES ObjectAttributes,// 线程属性,一般设为NULL __in_opt HANDLE ProcessHandle,//为NULL表示创建系统线程,为进程句柄,则新创建的线程属于这个指定的进程, __out_opt PCLIENT_ID ClientId, __in PKSTART_ROUTINE StartRoutine,// 新线程进行起始地址 __in_opt PVOID StartContext// 新线程接收的参数 );
如:
#pragma PAGEDCODEVOID SystemThread(IN PVOID pContext){ PEPROCESS pEProcess = IoGetCurrentProcess(); PTSTR ProcessName = (PTSTR)((ULONG)pEProcess+0x174); KdPrint(("This SystemThread run in %s process",ProcessName)); PsTerminateSystemThread(STATUS_SUCCESS);}#pragma PAGEDCODEVOID MyProcessThread(IN PVOID pContext){ PEPROCESS pEProcess = IoGetCurrentProcess(); PTSTR ProcessName = (PTSTR)((ULONG)pEProcess+0x174); KdPrint(("This MyProcessThread run in %s process",ProcessName)); PsTerminateSystemThread(STATUS_SUCCESS);}#pragma PAGEDCODEVOID CreateThread_Test(){ HANDLE hSystemThread,hMyThread; NTSTATUS status = PsCreateSystemThread(&hSystemThread,0,NULL,NULL,NULL,SystemThread,NULL); status = PsCreateSystemThread(&hMyThread,0,NULL,NtCurrentProcess(),NULL,MyProcessThread,NULL);}
记得CreateThread_Test函数不要在DriverEntry中调用,可以放在IRP_MJ_DEVICE_CONTROL中来触发(NtCurrentProcess(),DriverEntry是属于System进程调用的)
阅读全文
0 0
- 21.driverbase-多线程PsCreateSystemThread
- PsCreateSystemThread
- CreateThread,AfxBeginThread,PsCreateSystemThread
- PsCreateSystemThread函数说明
- PsCreateSystemThread创建系统线程
- 驱动开发之 创建线程函数PsCreateSystemThread
- 0.driverbase-控制寄存器(CR0~CR3)
- 0.driverbase-WDM和NT驱动
- 0.driverbase-makefile和source简单语法
- 0.driverbase-prefmon查看驱动性能
- 0.driverbase-IoGetDeviceObjectPointer源码(need ObDereferenceObject)
- 0.driverbase-内存管理相关函数
- 0.driverbase-字符串、文件、注册表相关函数
- 20.driverbase-CONTAINING_RECODE和双向链表
- 23.driverbase-易错点:CreateFile返回1
- 0.driverbase-枚举进程,枚举模块,操作注册表随手代码
- 0.driverbase-VS2008+DDKWIZARD+WDK基于WIN7编程环境配置
- 0.driverbase-驱动编译环境--x86 Checked Build Environment
- Java并发编程:线程池的使用
- 装饰器,高阶函数,嵌套函数
- 设计模式(4)
- 说说ASP.Net Core 2.0中的Razor Page
- 小K的农场(差分约束)
- 21.driverbase-多线程PsCreateSystemThread
- base64编码和解码
- ecshop 添加会员头像功能
- poj 3616 Milking Time(dp)
- 接口测试
- (CodeForces
- 变形课杭电1181——深搜,广搜,并查集
- 给定n个字符串,请对n个字符串按照字典序排列
- MySql索引原理(重点)