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

Method delete

archive/ntreg/src/registry_key.rs:207–233  ·  view source on GitHub ↗

Deletes a sub key. # Arguments `recurse` - A boolean indicating if the sub key should be deleted recursively. If this is false and the sub key has sub keys, the deletion will fail. # Examples ``` # use ntreg::registry_key::*; let key = RegistryKey::new("HKCU").unwrap(); let new_key = key.create_key("NewKey"); assert!(new_key.is_ok()); new_key.unwrap().delete(true); ```

(&self, recurse: bool)

Source from the content-addressed store, hash-verified

205 /// new_key.unwrap().delete(true);
206 /// ```
207 pub fn delete(&self, recurse: bool) -> Result<(), NtStatusError> {
208 let key = match open_key(&self.path.clone(), KEY_ALL_ACCESS) {
209 Ok((key, _)) => key,
210 Err(err) => return Err(err),
211 };
212
213 if recurse {
214 let mykey = match RegistryKey::new(&self.path) {
215 Ok(key) => key,
216 Err(err) => return Err(err),
217 };
218
219 for subkey in mykey.subkeys() {
220 subkey.delete(true)?;
221 }
222 }
223
224 let status = unsafe {
225 ntregapi::NtDeleteKey(key)
226 };
227
228 if !NT_SUCCESS(status) {
229 return Err(NtStatusError::new(status, "Failed to delete key."));
230 }
231
232 Ok(())
233 }
234
235 /// Deletes a value for the current key.
236 ///

Callers 3

remove_keyFunction · 0.45
test_create_and_deleteFunction · 0.45

Calls 3

open_keyFunction · 0.85
subkeysMethod · 0.80
newFunction · 0.50

Tested by 2

test_create_and_deleteFunction · 0.36