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;
	 }
 }
相关推荐
caimouse28 分钟前
Reactos 第 5 章 进程与线程 — 5.8 Windows 的 APC 机制
c语言·windows
PHP隔壁老王邻居1 小时前
windows菜单搜索栏无法显示历史记录或者无法使用修复方法
windows
道一231 小时前
Windows系统查看端口占用进程的3种实用方法
windows·笔记
半条-咸鱼1 小时前
【INACCESSIBLE_BOOT_DEVICE】安装 Config Tool 后 Windows 蓝屏,最终通过 VMware 虚拟机解决
windows·stm32·vmware·芯片
人工小情绪3 小时前
Windows 安装 Codex 桌面版,并用 CC Switch 管理配置
人工智能·windows·codex·cc switch
caimouse5 小时前
Reactos 第 5 章 进程与线程 — 5.11 线程本地存储 TLS
c语言·windows
李小白665 小时前
第二天-认识Windows
windows
liu6449113376 小时前
claude code 安装
windows
caimouse6 小时前
Reactos 第 5 章 进程与线程 — 5.9 Windows 线程的调度和切换
windows
骑士雄师6 小时前
17.2 通过 Config 传入用户名 → 工具1存入 State → 工具2读取 State 并返回答案
服务器·windows·microsoft