当前位置: 首页 > article >正文

WINDOWS 单链表SLIST_ENTRY使用

1.初始化链表头

//初始化链表头@qq1490900437
void InitialGloubleVar()
{
	while (1)
	{
		G_Handle.SaveProcessThreadHandle = (PSLIST_HEADER)_aligned_malloc(sizeof(SLIST_HEADER), MEMORY_ALLOCATION_ALIGNMENT);
		if (G_Handle.SaveProcessThreadHandle != NULL)
		{
			break;
		}
	}
	InitializeSListHead(G_Handle.SaveProcessThreadHandle);
}

2.遍历链表

 //遍历单链表@qq1490900437
 VOID NTAPI NtMarkThreadHandle(DWORD dwThreadId)
 {
	 PSLIST_ENTRY Entry = RtlFirstEntrySList(G_Handle.SaveProcessThreadHandle);
	 while (Entry !=NULL)
	 {
		 PSaveHandle Node = CONTAINING_RECORD(Entry, SaveHandle,Next);
		 if (Node->dwThreadId == dwThreadId)
		 {
			 Node->MarkThreadExit = TRUE;
			 break;
		 }
		 Entry = Entry->Next;
	 }
 }


http://www.kler.cn/a/419840.html

相关文章:

  • k8s使用的nfs作为sc。
  • Centos7安装MySQL8.0详细教程(压缩包安装方式)
  • 【JavaEE初阶 — 网络编程】实现基于TCP协议的Echo服务
  • protobuf安装
  • Redis+Caffeine 多级缓存数据一致性解决方案
  • 【MySql】navicat连接报2013错误
  • Leecode刷题C语言之N皇后②
  • gitlab自动打包python项目
  • 【vue】响应式(object.defineProperty)、可配置的参数、vue渲染机制
  • 华为HarmonyOS 让应用快速拥有账号能力 - 获取用户手机号
  • yolo11经验教训----之一
  • QT的槽函数的四种写法
  • ME6210:常用在个人通信设备电源里的低静态、低压差线性稳压器
  • @antv/x6 再vue中 ,自定义图形,画流程图、数据建模、er图等图形
  • linux网络抓包工具
  • 网际协议(IP)与其三大配套协议(ARP、ICMP、IGMP)
  • 【在Linux世界中追寻伟大的One Piece】多线程(三)
  • 为什么编程语言会设计不可变的对象?字符串不可变?NSString *s = @“hello“变量s是不可变的吗?Rust内部可变性的意义?
  • 源码分析之Openlayers中的Collection类
  • Web开发基础学习——HTML中\<div>元素的理解
  • arkTS:使用ArkUI实现用户信息的持久化管理与自动填充(PersistentStorage)
  • Java 面经之 Spring
  • 【Git系列】Git 提交记录过滤:排除特定关键词的实用指南
  • 【MySQL-6】MySQL的复合查询
  • 动态代理如何加强线上安全
  • 云服务器架构有什么区别?X86计算、Arm、GPU/FPGA/ASIC和裸金属全解析