Windows 反恶意软件扫描接口 (AMSI) 包含可用于调用 Windows 中当前活动的病毒扫描程序的抽象:
https://docs.microsoft.com/en-us/windows/desktop/amsi/antimalware-scan-interface-functions
初始化相关的方法有2种:
- 初始化
- AmsiUninitialize
AmsiInitialize 返回“HAMSICONTEXT类型的句柄,必须将其传递给对 AMSI API 的所有后续调用。 ”。
初始化完成后,我可以使用 AmsiScanBuffer 扫描缓冲区中的恶意软件。
我的问题:
我可以从我的应用程序中的多个线程同时使用相同的上下文,还是需要为每个线程创建一个我要从中调用方法的线程?
阅读 AsmiUnitialize 的文档,它告诉我当应用程序使用 AMSI API 完成时,它必须调用 AmsiUninitialize。. 这告诉我上下文可以用于许多调用,但它并没有告诉我有关线程安全或并发性的任何信息。