diff --git a/data.build.json b/data.build.json index bd36e3f5d..ea3ada62e 100644 --- a/data.build.json +++ b/data.build.json @@ -22,6 +22,7 @@ "powershell.dsc.extension.json", "powershell.discover.ps1", "powershell.dsc.resource.json", + "PowerShell_adapter.dsc.resource.json", "psDscAdapter/", "psscript.ps1", "psscript.dsc.resource.json", @@ -51,6 +52,7 @@ "powershell.dsc.extension.json", "powershell.discover.ps1", "powershell.dsc.resource.json", + "PowerShell_adapter.dsc.resource.json", "psDscAdapter/", "psscript.ps1", "psscript.dsc.resource.json", @@ -83,6 +85,7 @@ "powershell.dsc.extension.json", "powershell.discover.ps1", "powershell.dsc.resource.json", + "PowerShell_adapter.dsc.resource.json", "psDscAdapter/", "psscript.ps1", "psscript.dsc.resource.json", @@ -99,6 +102,7 @@ "sshd-subsystem.dsc.resource.json", "sshd-subsystemList.dsc.resource.json", "windowspowershell.dsc.resource.json", + "WindowsPowerShell_adapter.dsc.resource.json", "windowsupdate.dsc.resource.json", "wu_dsc.exe", "windows_firewall.dsc.resource.json", diff --git a/resources/windows_firewall/src/firewall.rs b/resources/windows_firewall/src/firewall.rs index 8c570e550..468ca3284 100644 --- a/resources/windows_firewall/src/firewall.rs +++ b/resources/windows_firewall/src/firewall.rs @@ -21,7 +21,7 @@ impl SafeVariant { Self(VARIANT::default()) } - fn as_mut_ptr(&mut self) -> *mut VARIANT { + fn as_mut(&mut self) -> &mut VARIANT { &mut self.0 } @@ -33,7 +33,7 @@ impl SafeVariant { impl Drop for SafeVariant { fn drop(&mut self) { if let Err(e) = unsafe { VariantClear(&mut self.0) } { - crate::write_error(&format!("Warning: VariantClear failed with HRESULT: {:#010x}", e.code().0)); + crate::write_error(&format!("Warning: VariantClear failed with HRESULT: {:#010x}", e.code().0 as u32)); } } } @@ -81,8 +81,7 @@ impl FirewallStore { loop { let mut fetched = 0u32; let mut safe_variant = SafeVariant::new(); - let variant_slice = unsafe { std::slice::from_raw_parts_mut(safe_variant.as_mut_ptr(), 1) }; - let hr = unsafe { enum_variant.Next(variant_slice, &mut fetched) }; + let hr = unsafe { enum_variant.Next(std::slice::from_mut(safe_variant.as_mut()), &mut fetched) }; if hr == S_FALSE || fetched == 0 { break; }