| 子程序名 | 返回值类型 | 公开 | 备 注 | ||||
| 驱动_是否存在 | 逻辑型 | 取系统已加载的驱动,成功取到返回真,失败返回假 | |||||
| 参数名 | 类 型 | 参考 | 可空 | 数组 | 备 注 | ||
| 驱动名 | 文本型 | ||||||
| 变量名 | 类 型 | 静态 | 数组 | 备 注 | ||
| 驱动成员 | 内核驱动成员 | "0" | ||||
| 循环计次 | 整数型 | |||||
计次循环首 (取数组成员数 (驱动成员), 循环计次)
如果真 (驱动成员 [循环计次].驱动文件名 = 驱动名)
返回 (真)
跳出循环 ()

计次循环尾 ()返回 (假)
| 子程序名 | 返回值类型 | 公开 | 备 注 | ||||
| 枚举系统驱动 | 整数型 | ||||||
| 参数名 | 类 型 | 参考 | 可空 | 数组 | 备 注 | ||
| 驱动名 | 内核驱动成员 | ||||||
| 变量名 | 类 型 | 静态 | 数组 | 备 注 | ||
| 计次 | 整数型 | |||||
| Los | 整数型 | |||||
| 所在位置 | 整数型 | |||||
| 判断函数 | 整数型 | |||||
| 装载类型 | 内核驱动成员 | |||||
| 内存申请 | 整数型 | |||||
| 驱动名称 | 文本型 | "0" | ||||
| Ret | 整数型 | |||||
| ModulesInfo | MODULES | |||||
NtQuerySystemInformation (11, 0, 0, Ret)
内存申请 = 申请内存 (Ret × 2, 真)
NtQuerySystemInformation (11, 内存申请, Ret × 2, Ret)
RtlMoveMemory (ModulesInfo, 内存申请, GlobalSize (ModulesInfo))
加入成员 (驱动名称, 到文本 (ModulesInfo.ModuleInformation.ImageName))
计次 = ModulesInfo.dwNumberOfModules
判断函数 = 计次
判断循环首 (计次 > 1)
计次 = 计次 - 1
内存申请 = 内存申请 + 71 × 4
RtlMoveMemory (ModulesInfo, 内存申请, GlobalSize (ModulesInfo))
加入成员 (驱动名称, 到文本 (ModulesInfo.ModuleInformation.ImageName))
判断循环尾 ()
计次循环首 (取数组成员数 (驱动名称), Los)
所在位置 = 倒找文本 (驱动名称 [Los], “\”, , 假)
装载类型.驱动文件名 = 取文本右边 (驱动名称 [Los], 取文本长度 (驱动名称 [Los]) - 所在位置)
加入成员 (驱动名, 装载类型)
计次循环尾 ()释放内存 (内存申请)
如果 (判断函数 > 1)
返回 (取数组成员数 (驱动名称))
返回 (0)
| 数据类型名 | 公开 | 备 注 | ||||
| 内核驱动成员 | ||||||
| 成员名 | 类 型 | 传址 | 数组 | 备 注 | ||
| 驱动文件名 | 文本型 | |||||
| 数据类型名 | 公开 | 备 注 | ||||
| INFORMATION | ||||||
| 成员名 | 类 型 | 传址 | 数组 | 备 注 | ||
| dwReserved | 整数型 | "2" | ||||
| dwBase | 整数型 | |||||
| dwSize | 整数型 | |||||
| dwFlags | 整数型 | |||||
| Index | 短整数型 | |||||
| Unknown | 短整数型 | |||||
| LoadCount | 短整数型 | |||||
| ModuleNameOffset | 短整数型 | |||||
| ImageName | 字节型 | "256" | ||||
| 数据类型名 | 公开 | 备 注 | ||||
| MODULES | ||||||
| 成员名 | 类 型 | 传址 | 数组 | 备 注 | ||
| dwNumberOfModules | 整数型 | |||||
| ModuleInformation | INFORMATION | |||||
| DLL命令名 | 返回值类型 | 公开 | 备 注 | |
| RtlMoveMemory | 整数型 | 拷贝来源内存到目标内存。无返回值。 | ||
| DLL库文件名: | ||||
| kernel32.dll | ||||
| 在DLL库中对应命令名: | ||||
| RtlMoveMemory | ||||
| 参数名 | 类 型 | 传址 | 数组 | 备 注 |
| lpDestination | MODULES | 指向目标内存的指针 | ||
| lpSource | 整数型 | 指向来源内存的指针 | ||
| Length | 整数型 | 拷贝的字节数。 | ||
| DLL命令名 | 返回值类型 | 公开 | 备 注 | |
| GlobalSize | 整数型 | 获取指定内存块的大小 | ||
| DLL库文件名: | ||||
| kernel32.dll | ||||
| 在DLL库中对应命令名: | ||||
| GlobalSize | ||||
| 参数名 | 类 型 | 传址 | 数组 | 备 注 |
| hMem | MODULES | 指向一个内存块的指针,一般是先前用GlobalAlloc函数或GlobalReAlloc函数返回的值. | ||
词条作者信息 使用例程
