![]() |
1
5
通常,当与流程之外的对象交互时,会发生坏事情。例如,您有一些共享内存被多个进程使用,您的进程将写入这些共享内存,而其他进程将读取和/或写入这些共享内存。通常使用互斥来同步读写。如果进程中的线程已获取互斥体,并且在调用TerminateProcess时正在进行更改,则互斥体将被放弃,共享内存可能处于不一致的状态。 我怀疑你错过了使用第三方图书馆。dllmain有点限制,因此库可能具有要调用的初始化和取消初始化函数。 |
![]() |
2
6
基于该文档和extiprocess,主要的问题似乎是卸载dll时没有调用带有标志dll_process_detach的dllmain。 我的2注意事项:文档是偏执的,您会破坏在dllmain+dll_进程_detach中运行的一些关键操作。任何依赖它来维持关键状态的人都已经由任务管理器控制了,所以我认为使用这个API不会有很大的风险。 |
![]() |
3
6
Afaik,如果你没有做任何“花哨”的事情(包括但不限于:创建线程、锁、数据库连接、使用COM对象),就不会发生什么可怕的事情。但是作为 Earwicker says 你 不知道 一个动态链接库在做什么样的操作系统范围的事情,你当然不知道将来会不会改变,所以依赖于它是非常脆弱的。
您不想知道为什么会发生这种访问冲突吗?这很可能是某种东西在很早以前就被破坏的迹象。至少请
确认
错误是由第三方库引起的,例如,编写一个与库链接但
|
![]() |
4
4
这取决于你如何解释“全球数据”。如果你把它理解为(像我通常那样)存储在进程地址空间中的数据,那么这个建议就没有意义了——我们知道内存会消失,那么谁在乎会发生什么呢? 因此,它可能指的是一个动态链接库可能已经完成的操作系统范围的工作,这些工作在任何进程的生命周期之外都会持续存在。一个简单的例子是一个临时文件,它可能需要清理;过程崩溃太多次,磁盘空间就会耗尽,所以最好不要养成这样的习惯。 |
|
vini · 安装wfp内核驱动程序后,devcon状态返回39 2 年前 |
![]() |
I101I · 如何镜像HBITMAP 2 年前 |
![]() |
E235 · 如何查看谁创建了Windows NamedPipe 2 年前 |
![]() |
Pizza Ãcke · 创建带有内存映像的Windows托盘图标 2 年前 |
![]() |
Jabu · 如何获取列表框滚动条“拇指”的高度? 2 年前 |
![]() |
tree1234 · 对可执行文件进行代码设计,并允许修改某些字节 2 年前 |
![]() |
Penachia · PDF FontDescriptor标志 6 年前 |