actionType && FlagOn(classifyOut->-6ren">
gpt4 book ai didi

c - "Veto"和 "Hard Block"有什么区别?

转载 作者:太空宇宙 更新时间:2023-11-04 04:51:56 25 4
gpt4 key购买 nike

以下代码是“否决权”、“硬 block ”还是两者?

if (FWP_ACTION_PERMIT == classifyOut->actionType 
&& FlagOn(classifyOut->rights, FWPS_RIGHT_ACTION_WRITE))
{
classifyOut->rights = 0;
classifyOut->actionType = FWP_ACTION_BLOCK;
}

有关此问题的文档含糊不清。

请访问:http://msdn.microsoft.com/en-us/library/windows/desktop/aa364008(v=vs.85).aspx

最佳答案

这是一个硬 block ,但不是否决权

硬 Action 是指除了将 actionType 设置为 FWP_ACTION_BLOCKFWP_ACTION_PERMIT< 之外还重置FWPS_RIGHT_ACTION_WRITE 标志/em>。 (这在 the documentation 中没有明确定义,但可以从第一个表中推断出来。)

在您的代码中,您要重置标志,然后将actionType 设置为FWP_ACTION_BLOCK,使您的操作成为硬 block :

classifyOut->rights = 0;
classifyOut->actionType = FWP_ACTION_BLOCK;

the documentation 中所述,

A Veto is a Block action returned by the filter when the FWPS_RIGHT_ACTION_WRITE flag was reset prior to calling the filter.

在您的代码中,如果设置了标志,您只会发布一个区 block ,使您的操作不是否决权:

if ( ... && FlagOn(classifyOut->rights, FWPS_RIGHT_ACTION_WRITE) {...}

关于c - "Veto"和 "Hard Block"有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14340454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com