|
楼主 |
发表于 2010-1-30 22:28:45
|
显示全部楼层
回复 HoviDelphic
有段时间琢磨了好久给驱动传构造类型,弄了半天,都没成功,最后还是一个个传好……
TengAttack 发表于 2010-1-21 23:22 
所谓的构造类型就是自定义类型吧?很好传递的:
VB:
- Private Type RsData
- TarAddr As Long
- RsLength As Long
- OriDat(259) As Byte
- End Type
- Dim xx As RsData '自定义类型
- With DrvController
- .IoControl .CTL_CODE_GEN(&H1), VarPtr(xx), Len(xx), 0, 0 '函数名称
- End With
复制代码 Driver:
- typedef struct _Unhook {
- ULONG TarAddr; //目标地址
- ULONG Length; //需要覆盖的长度
- BYTE OrigiData[MAX_PATH];//原始数据
- } UNHOOK, *PUNHOOK;
- switch(uIoControlCode)
- {
- case IOCTL_UnHook:
- {
- UNHOOK UnHook={0};
- memcpy(&UnHook,InputBuffer,sizeof(UNHOOK));
- MemOpen();
- memcpy((PVOID)UnHook.TarAddr,UnHook.OrigiData,UnHook.Length);
- MemClose();
- ntStatus = STATUS_SUCCESS;
- break;
- }
- }
复制代码 |
|