MCPcopy Create free account
hub / github.com/Windscribe/Desktop-App / deleteSublayerAndAllFilters

Function deleteSublayerAndAllFilters

src/helper/windows/utils.cpp:31–58  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29{
30
31bool deleteSublayerAndAllFilters(HANDLE engineHandle, const GUID *subLayerGUID)
32{
33 FWPM_SUBLAYER0 *subLayer = nullptr;
34 auto freeSublayer = wsl::wsScopeGuard([&] {
35 if (subLayer != nullptr) {
36 FwpmFreeMemory0((void**)&subLayer);
37 }
38 });
39
40 DWORD result = FwpmSubLayerGetByKey0(engineHandle, subLayerGUID, &subLayer);
41 if (result == FWP_E_SUBLAYER_NOT_FOUND) {
42 return true;
43 }
44
45 if (result != ERROR_SUCCESS) {
46 spdlog::error("deleteSublayerAndAllFilters failed: {}", result);
47 return false;
48 }
49
50 deleteAllFiltersForSublayer(engineHandle, subLayerGUID, FWPM_LAYER_ALE_AUTH_CONNECT_V4);
51 deleteAllFiltersForSublayer(engineHandle, subLayerGUID, FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V4);
52 deleteAllFiltersForSublayer(engineHandle, subLayerGUID, FWPM_LAYER_ALE_AUTH_CONNECT_V6);
53 deleteAllFiltersForSublayer(engineHandle, subLayerGUID, FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V6);
54
55 FwpmSubLayerDeleteByKey0(engineHandle, subLayerGUID);
56
57 return true;
58}
59
60bool deleteAllFiltersForSublayer(HANDLE engineHandle, const GUID *subLayerGUID, GUID layerKey)
61{

Callers 3

disableMethod · 0.85
offImplMethod · 0.85
enableIPv6Method · 0.85

Calls 2

wsScopeGuardFunction · 0.85

Tested by

no test coverage detected