MCPcopy Create free account
hub / github.com/PowerShell/DSC / find_by_selector

Method find_by_selector

resources/windows_firewall/src/firewall.rs:104–118  ·  view source on GitHub ↗
(&self, selector: &FirewallRule)

Source from the content-addressed store, hash-verified

102 }
103
104 fn find_by_selector(&self, selector: &FirewallRule) -> Result<Option<INetFwRule>, FirewallError> {
105 // HRESULT 0x80070002 is HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), returned when the
106 // rule name does not match any existing rule.
107 const HRESULT_FILE_NOT_FOUND: HRESULT = HRESULT(0x80070002_u32 as i32);
108
109 let Some(lookup_name) = selector.selector_name() else {
110 return Ok(None);
111 };
112
113 match unsafe { self.rules.Item(&BSTR::from(lookup_name)) } {
114 Ok(rule) => Ok(Some(rule)),
115 Err(e) if e.code() == HRESULT_FILE_NOT_FOUND => Ok(None),
116 Err(e) => Err(t!("firewall.ruleLookupFailed", name = lookup_name, error = e.to_string()).to_string().into()),
117 }
118 }
119
120 fn remove_rule(&self, rule_name: &str) -> Result<(), FirewallError> {
121 unsafe { self.rules.Remove(&BSTR::from(rule_name)) }

Callers 2

get_rulesFunction · 0.80
set_rulesFunction · 0.80

Calls 1

selector_nameMethod · 0.80

Tested by

no test coverage detected