Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ keywords = ["native", "windows", "ffi", "win32", "com"]
categories = ["os::windows-apis", "api-bindings", "external-ffi-bindings"]

[dependencies]
windows = { version = "0.58.0", features = [
windows = { version = "0.62.2", features = [
"Win32_Foundation",
"Win32_System_ApplicationInstallationAndServicing",
"Win32_Devices_DeviceAndDriverInstallation",
Expand Down
78 changes: 39 additions & 39 deletions src/ntbcd.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use windows::{
core::{GUID, PWSTR},
Win32::Foundation::{BOOLEAN, HANDLE, NTSTATUS, UNICODE_STRING},
Win32::Foundation::{HANDLE, NTSTATUS, UNICODE_STRING},
};

use crate::bitfield::{BitfieldUnit, UnionField};
Expand Down Expand Up @@ -155,53 +155,53 @@ pub enum BCD_MESSAGE_TYPE {
pub type BCD_MESSAGE_CALLBACK =
std::option::Option<unsafe extern "system" fn(type_: BCD_MESSAGE_TYPE, Message: PWSTR)>;

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdSetLogging(
BcdLoggingLevel: BCD_MESSAGE_TYPE,
BcdMessageCallbackRoutine: BCD_MESSAGE_CALLBACK,
) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdInitializeBcdSyncMutant();
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdGetSystemStorePath(BcdSystemStorePath: *mut PWSTR) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdSetSystemStoreDevice(SystemPartition: UNICODE_STRING) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdOpenSystemStore(BcdStoreHandle: *mut HANDLE) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdOpenStoreFromFile(
BcdFilePath: UNICODE_STRING,
BcdStoreHandle: *mut HANDLE,
) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdCreateStore(BcdFilePath: UNICODE_STRING, BcdStoreHandle: *mut HANDLE) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdExportStore(BcdFilePath: UNICODE_STRING) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdExportStoreEx(
BcdStoreHandle: HANDLE,
Expand All @@ -210,7 +210,7 @@ extern "system" {
) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdImportStore(BcdFilePath: UNICODE_STRING) -> NTSTATUS;
}
Expand All @@ -222,20 +222,20 @@ pub enum BCD_IMPORT_FLAGS {
BCD_IMPORT_DELETE_FIRMWARE_OBJECTS = 1,
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdImportStoreWithFlags(
BcdFilePath: UNICODE_STRING,
BcdImportFlags: BCD_IMPORT_FLAGS,
) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdDeleteObjectReferences(BcdStoreHandle: HANDLE, Identifier: *mut GUID) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdDeleteSystemStore() -> NTSTATUS;
}
Expand All @@ -248,7 +248,7 @@ pub enum BCD_OPEN_FLAGS {
BCD_OPEN_SYNC_FIRMWARE_ENTRIES = 2,
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdOpenStore(
BcdFilePath: UNICODE_STRING,
Expand All @@ -257,22 +257,22 @@ extern "system" {
) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdCloseStore(BcdStoreHandle: HANDLE) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdFlushStore(BcdStoreHandle: HANDLE) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdForciblyUnloadStore(BcdStoreHandle: HANDLE) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdMarkAsSystemStore(BcdStoreHandle: HANDLE) -> NTSTATUS;
}
Expand Down Expand Up @@ -740,7 +740,7 @@ impl std::fmt::Debug for BCD_OBJECT {
}
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdEnumerateObjects(
BcdStoreHandle: HANDLE,
Expand All @@ -751,7 +751,7 @@ extern "system" {
) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdOpenObject(
BcdStoreHandle: HANDLE,
Expand All @@ -760,7 +760,7 @@ extern "system" {
) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdCreateObject(
BcdStoreHandle: HANDLE,
Expand All @@ -770,12 +770,12 @@ extern "system" {
) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdDeleteObject(BcdObjectHandle: HANDLE) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdCloseObject(BcdObjectHandle: HANDLE) -> NTSTATUS;
}
Expand All @@ -792,7 +792,7 @@ pub enum BCD_COPY_FLAGS {
BCD_COPY_MIGRATE_ELEMENT_DATA = 32,
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdCopyObject(
BcdStoreHandle: HANDLE,
Expand All @@ -803,7 +803,7 @@ extern "system" {
) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdCopyObjectEx(
BcdStoreHandle: HANDLE,
Expand All @@ -815,7 +815,7 @@ extern "system" {
) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdCopyObjects(
BcdStoreHandle: HANDLE,
Expand All @@ -825,7 +825,7 @@ extern "system" {
) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdMigrateObjectElementValues(
TemplateObjectHandle: HANDLE,
Expand All @@ -834,7 +834,7 @@ extern "system" {
) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdQueryObject(
BcdObjectHandle: HANDLE,
Expand Down Expand Up @@ -994,7 +994,7 @@ impl std::fmt::Debug for BCD_ELEMENT_DATATYPE {
}
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdEnumerateElementTypes(
BcdObjectHandle: HANDLE,
Expand Down Expand Up @@ -1326,7 +1326,7 @@ impl std::fmt::Debug for BCD_ELEMENT_INTEGER_LIST {

#[repr(C)]
pub struct BCD_ELEMENT_BOOLEAN {
pub Value: BOOLEAN,
pub Value: bool,
}

impl Default for BCD_ELEMENT_BOOLEAN {
Expand Down Expand Up @@ -1378,7 +1378,7 @@ impl std::fmt::Debug for BCD_ELEMENT {
}
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdEnumerateElements(
BcdObjectHandle: HANDLE,
Expand All @@ -1402,7 +1402,7 @@ pub enum BCD_FLAGS {
BCD_FLAG_DISABLE_POLICY_CHECKS = 128,
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdEnumerateElementsWithFlags(
BcdObjectHandle: HANDLE,
Expand All @@ -1413,7 +1413,7 @@ extern "system" {
) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdEnumerateAndUnpackElements(
BcdStoreHandle: HANDLE,
Expand All @@ -1425,7 +1425,7 @@ extern "system" {
) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdGetElementData(
BcdObjectHandle: HANDLE,
Expand All @@ -1435,7 +1435,7 @@ extern "system" {
) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdGetElementDataWithFlags(
BcdObjectHandle: HANDLE,
Expand All @@ -1446,7 +1446,7 @@ extern "system" {
) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdSetElementData(
BcdObjectHandle: HANDLE,
Expand All @@ -1456,7 +1456,7 @@ extern "system" {
) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdSetElementDataWithFlags(
BcdObjectHandle: HANDLE,
Expand All @@ -1467,7 +1467,7 @@ extern "system" {
) -> NTSTATUS;
}

#[link(name = "ntdll.dll", kind = "raw-dylib", modifiers = "+verbatim")]
#[link(name = "bcd.dll", kind = "raw-dylib", modifiers = "+verbatim")]
extern "system" {
pub fn BcdDeleteElement(BcdObjectHandle: HANDLE, BcdElement: u32) -> NTSTATUS;
}
Expand Down
4 changes: 2 additions & 2 deletions src/ntdbg.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use windows::{
core::GUID,
Wdk::Foundation::OBJECT_ATTRIBUTES,
Win32::{
Foundation::{BOOLEAN, HANDLE, NTSTATUS},
Foundation::{HANDLE, NTSTATUS},
System::{
Diagnostics::{
Debug::{DEBUG_EVENT, EXCEPTION_RECORD},
Expand Down Expand Up @@ -326,7 +326,7 @@ extern "system" {
extern "system" {
pub fn NtWaitForDebugEvent(
DebugObjectHandle: HANDLE,
Alertable: BOOLEAN,
Alertable: bool,
Timeout: *mut i64,
WaitStateChange: *mut DBGUI_WAIT_STATE_CHANGE,
) -> NTSTATUS;
Expand Down
Loading