| 381 | |
| 382 | #[pyfunction] |
| 383 | fn DeleteValue(key: PyRef<PyHkey>, value: Option<String>, vm: &VirtualMachine) -> PyResult<()> { |
| 384 | let wide_value = value.map(|v| v.to_wide_with_nul()); |
| 385 | let value_ptr = wide_value |
| 386 | .as_ref() |
| 387 | .map_or(core::ptr::null(), |v| v.as_ptr()); |
| 388 | let res = unsafe { Registry::RegDeleteValueW(key.hkey.load(), value_ptr) }; |
| 389 | if res == 0 { |
| 390 | Ok(()) |
| 391 | } else { |
| 392 | Err(vm.new_os_error(format!("error code: {res}"))) |
| 393 | } |
| 394 | } |
| 395 | |
| 396 | #[derive(FromArgs, Debug)] |
| 397 | struct DeleteKeyExArgs { |