
内核
文章平均质量分 79
crlyn
这个作者很懒,什么都没留下…
展开
-
LIST_ENTRY链表
链表的使用链表是驱动开发中经常遇到的一个数据结构,主要是双向循环链表;要使用链表,需要用到一个LIST_ENTRY的结构,其定义如下:typedef struct _LIST_ENTRY { struct _LIST_ENTRY *Flink; // 指向下一个节点 struct _LIST_ENTRY *Blink; // 指向前一个节点} L转载 2015-10-25 22:17:19 · 330 阅读 · 0 评论 -
同步互斥
互斥(A和B只能一个访问)KSPIN_LOCKERESOURCEFAST_MUTEX同步(A告诉B发生了什么事)KEVENTKSEMAPHOREKMUTEXKeWaitForSingleObjectKEVENTKMUTEX/KMUTANTKPROCESSKQUEUEKSEMAPHOREKTHREADKTIMER(都带dispatcher原创 2015-12-15 16:34:01 · 788 阅读 · 0 评论 -
内核数据结构
程序计算中的数据如何存放与管理?LIST_ENTRY HASH表 TREE树 LookAside结构 1.LIST_ENTRY typedef _struct _MYDATA_LIST{ LIST_ENTRY Entry; WCHAR NameBuffer[MAX_PATH];} MYDATA_LIST_ENTRY原创 2015-12-15 16:43:41 · 421 阅读 · 0 评论 -
多线程
R3多线程方法1:ULONG WINAPI ThreadProc(void* arg){ return 1;}VOID StartThread(){HANDLE hThread = NULL;hThread = CreateThread(NULL, 0, ThreadProc, NULL, 0, NULL);WaitForS原创 2015-12-13 23:36:34 · 242 阅读 · 0 评论 -
遍历进程句柄并干掉互斥体
互斥体例子int main(int argc, char* argv[]) { HANDLE hMtx = CreateMutex(NULL,false,"process"); //创建一个有名对象,可以在其他进程中访问 if(GetLastError() == ERROR_ALREADY_EXISTS) //除了创建该对象的进程能进到else分支,其他进程转载 2016-07-23 17:44:38 · 6031 阅读 · 4 评论