WINDOWS 单链表SLIST_ENTRY使用

1.初始化链表头

cpp 复制代码
//初始化链表头@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.遍历链表

cpp 复制代码
 //遍历单链表@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;
	 }
 }
相关推荐
wdfk_prog27 分钟前
嵌入式面试真题第 10 题:高优化等级下共享状态可见性、内存模型与系统级同步设计
java·linux·开发语言·面试·职场和发展·架构·c
2501_941982051 小时前
企业微信二次开发:私域数据基石——三大核心基础能力接口实战
windows·架构·bootstrap·企业微信
美丽的欣情11 小时前
RK3588 Debian 交叉编译环境搭建(Windows + VMware Debian + CMake)
运维·windows·debian
勤劳打代码11 小时前
Flutter 架构指南 —— windows 平台安装拆解
windows·架构
aramae15 小时前
C++11:现代C++的里程碑
c语言·开发语言·c++·windows·git·后端
执行x15 小时前
wsl2安装+桥接模式+固定IP
linux·windows·ubuntu
做萤石二次开发的哈哈16 小时前
如何接入萤石开放平台 ERTC Windows SDK?
windows·音视频·萤石开放平台
橙臣程17 小时前
在 Windows 中使用 WSL2 搭建 Ubuntu 开发环境
linux·windows·ubuntu
霸道流氓气质17 小时前
Windows 本地搭建 CDC 全链路测试环境(Kafka+Canel+binlog+SpringBoot)
windows·spring boot·kafka
郝开17 小时前
Windows 安装 Ostris AI Toolkit
人工智能·windows·toolkit·ai toolkit