正在从 \\.\root\SecurityCenter2 解析 WMI AntiVirusProduct productState

Parsing WMI AntiVirusProduct productState from \\.\root\SecurityCenter2

我正在尝试将 productState 的结果从 WMI 查询解析为 \.\root\SecurityCenter2\ 以获取 AntiVirusProduct。我在 Windows 10 1803 (10.0.17134) 和 1809 (10.0.17763)(是的,两台电脑,两倍的麻烦......)。我正在使用 C++/CLI,但可以是 C# 或其他任何东西,没关系...我只是想了解结果。

当我的 Windows Defender 激活 时,我得到 0x00061110。

当它停用时,我得到 0x00062110。

MS 似乎没有提供太多关于这些结果含义的信息。

根据this site,对于启用,第二个字节应该是0x11,对于禁用,第二个字节应该是0x01。由于我得到0x21,这是什么意思?

此外,如果使用其他防病毒产品会怎样?有没有办法理解这个 UINT32 数字???其实,很容易得到产品的名称(displayName),但我想知道它是否已激活。

在 Windows 10 上,我使用 IWscProduct 接口(在 C++ 和 C# 中测试,它工作正常)

哪些returns值容易理解(WSC_SECURITY_PRODUCT_STATE)

SDK 中有一个 C++ 示例:Windows Security Center API sample