Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Win32 metadata #3111

Merged
merged 12 commits into from
Jun 19, 2024
Merged
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
Binary file modified crates/libs/bindgen/default/Windows.Wdk.winmd
Binary file not shown.
Binary file modified crates/libs/bindgen/default/Windows.Win32.winmd
Binary file not shown.
4 changes: 2 additions & 2 deletions crates/libs/bindgen/default/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ like [ILSpy](https://github.com/icsharpcode/ILSpy).
## `Windows.Win32.winmd`

- Source: <https://www.nuget.org/packages/Microsoft.Windows.SDK.Win32Metadata/>
- Version: `58.0.18`
- Version: `61.0.15`

## `Windows.Wdk.winmd`

- Source: <https://www.nuget.org/packages/Microsoft.Windows.WDK.Win32Metadata/>
- Version: `0.10.7`
- Version: `0.12.8`

## `Windows.winmd`

Expand Down
14 changes: 4 additions & 10 deletions crates/libs/bindgen/src/rust/handles.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,10 @@ pub fn writer(writer: &Writer, def: metadata::TypeDef) -> TokenStream {

pub fn gen_sys_handle(writer: &Writer, def: metadata::TypeDef) -> TokenStream {
let ident = to_ident(def.name());
match def.underlying_type() {
metadata::Type::ISize if writer.std => quote! {
pub type #ident = *mut core::ffi::c_void;
},
underlying_type => {
let signature = writer.type_default_name(&underlying_type);
let signature = writer.type_default_name(&def.underlying_type());

quote! {
pub type #ident = #signature;
}
}
quote! {
pub type #ident = #signature;
}
}

Expand Down Expand Up @@ -84,6 +77,7 @@ pub fn gen_win_handle(writer: &Writer, def: metadata::TypeDef) -> TokenStream {

quote! {
impl windows_core::Free for #ident {
#[inline]
unsafe fn free(&mut self) {
if !self.is_invalid() {
#result #name(*self #tail);
Expand Down
6 changes: 3 additions & 3 deletions crates/libs/core/src/imp/bindings.rs
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ pub struct CLIPDATA {
pub ulClipFmt: i32,
pub pClipData: *mut u8,
}
pub type CO_MTA_USAGE_COOKIE = isize;
pub type CO_MTA_USAGE_COOKIE = *mut core::ffi::c_void;
#[repr(C)]
#[derive(Clone, Copy)]
pub union CY {
Expand Down Expand Up @@ -339,9 +339,9 @@ impl GUID {
}
}
}
pub type HANDLE = isize;
pub type HANDLE = *mut core::ffi::c_void;
pub type HEAP_FLAGS = u32;
pub type HMODULE = isize;
pub type HMODULE = *mut core::ffi::c_void;
pub type HRESULT = i32;
#[repr(C)]
#[derive(Clone, Copy)]
Expand Down
8 changes: 6 additions & 2 deletions crates/libs/core/src/imp/delay_load.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,13 @@ use super::*;
///
/// * Both the library and function names must be valid null-terminated strings.
pub unsafe fn delay_load<T>(library: crate::PCSTR, function: crate::PCSTR) -> Option<T> {
let library = LoadLibraryExA(library.0, 0, LOAD_LIBRARY_SEARCH_DEFAULT_DIRS);
let library = LoadLibraryExA(
library.0,
core::ptr::null_mut(),
LOAD_LIBRARY_SEARCH_DEFAULT_DIRS,
);

if library == 0 {
if library.is_null() {
return None;
}

Expand Down
2 changes: 1 addition & 1 deletion crates/libs/core/src/imp/factory_cache.rs
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ pub fn factory<C: crate::RuntimeName, I: Interface>() -> crate::Result<I> {
// If RoGetActivationFactory fails because combase hasn't been loaded yet then load combase
// automatically so that it "just works" for apartment-agnostic code.
if code == CO_E_NOTINITIALIZED {
let mut cookie = 0;
let mut cookie = core::ptr::null_mut();
CoIncrementMTAUsage(&mut cookie);

// Now try a second time to get the activation factory via the OS.
Expand Down
2 changes: 1 addition & 1 deletion crates/libs/core/src/imp/waiter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ impl Waiter {
pub fn new() -> crate::Result<(Waiter, WaiterSignaler)> {
unsafe {
let handle = CreateEventW(core::ptr::null(), 1, 0, core::ptr::null());
if handle == 0 {
if handle.is_null() {
Err(crate::Error::from_win32())
} else {
Ok((Waiter(handle), WaiterSignaler(handle)))
Expand Down
2 changes: 1 addition & 1 deletion crates/libs/registry/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "windows-registry"
version = "0.1.2"
version = "0.2.0"
authors = ["Microsoft"]
edition = "2021"
rust-version = "1.60"
Expand Down
4 changes: 2 additions & 2 deletions crates/libs/registry/src/bindings.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@ pub struct FILETIME {
pub dwLowDateTime: u32,
pub dwHighDateTime: u32,
}
pub type HANDLE = isize;
pub type HANDLE = *mut core::ffi::c_void;
pub type HEAP_FLAGS = u32;
pub type HKEY = isize;
pub type HKEY = *mut core::ffi::c_void;
pub const HKEY_CLASSES_ROOT: HKEY = -2147483648i32 as _;
pub const HKEY_CURRENT_CONFIG: HKEY = -2147483643i32 as _;
pub const HKEY_CURRENT_USER: HKEY = -2147483647i32 as _;
Expand Down
16 changes: 11 additions & 5 deletions crates/libs/registry/src/key.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,19 @@ use core::ptr::{null, null_mut};

/// A registry key.
#[repr(transparent)]
#[derive(Default, Debug)]
#[derive(Debug)]
pub struct Key(pub(crate) HKEY);

impl Default for Key {
fn default() -> Self {
Self(core::ptr::null_mut())
}
}

impl Key {
/// Creates a registry key. If the key already exists, the function opens it.
pub fn create<T: AsRef<str>>(&self, path: T) -> Result<Self> {
let mut handle = 0;
let mut handle = core::ptr::null_mut();

let result = unsafe {
RegCreateKeyExW(
Expand All @@ -30,7 +36,7 @@ impl Key {

/// Opens a registry key.
pub fn open<T: AsRef<str>>(&self, path: T) -> Result<Self> {
let mut handle = 0;
let mut handle = core::ptr::null_mut();

let result =
unsafe { RegOpenKeyExW(self.0, pcwstr(path).as_ptr(), 0, KEY_READ, &mut handle) };
Expand All @@ -44,12 +50,12 @@ impl Key {
///
/// This function takes ownership of the handle.
/// The handle must be owned by the caller and safe to free with `RegCloseKey`.
pub unsafe fn from_raw(handle: isize) -> Self {
pub unsafe fn from_raw(handle: *mut core::ffi::c_void) -> Self {
Self(handle)
}

/// Returns the underlying registry key handle.
pub fn as_raw(&self) -> isize {
pub fn as_raw(&self) -> *mut core::ffi::c_void {
self.0
}

Expand Down
4 changes: 2 additions & 2 deletions crates/libs/result/src/bindings.rs
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@ impl GUID {
}
}
}
pub type HANDLE = isize;
pub type HANDLE = *mut core::ffi::c_void;
pub type HEAP_FLAGS = u32;
pub type HMODULE = isize;
pub type HMODULE = *mut core::ffi::c_void;
pub type HRESULT = i32;
pub const IID_IErrorInfo: GUID = GUID::from_u128(0x1cf2b120_547d_101b_8e65_08002b2bd119);
#[repr(C)]
Expand Down
4 changes: 2 additions & 2 deletions crates/libs/result/src/hresult.rs
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ impl HRESULT {
{
let mut message = HeapString::default();
let mut code = self.0;
let mut module = 0;
let mut module = core::ptr::null_mut();

let mut flags = FORMAT_MESSAGE_ALLOCATE_BUFFER
| FORMAT_MESSAGE_FROM_SYSTEM
Expand All @@ -81,7 +81,7 @@ impl HRESULT {

module = LoadLibraryExA(
b"ntdll.dll\0".as_ptr(),
0,
core::ptr::null_mut(),
LOAD_LIBRARY_SEARCH_DEFAULT_DIRS,
);
}
Expand Down
2 changes: 2 additions & 0 deletions crates/libs/sys/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ docs = []
# generated features
Wdk = ["Win32_Foundation"]
Wdk_Devices = ["Wdk"]
Wdk_Devices_Bluetooth = ["Wdk_Devices"]
Wdk_Devices_HumanInterfaceDevice = ["Wdk_Devices"]
Wdk_Foundation = ["Wdk"]
Wdk_Graphics = ["Wdk"]
Expand All @@ -41,6 +42,7 @@ Wdk_Storage_FileSystem = ["Wdk_Storage"]
Wdk_Storage_FileSystem_Minifilters = ["Wdk_Storage_FileSystem"]
Wdk_System = ["Wdk"]
Wdk_System_IO = ["Wdk_System"]
Wdk_System_Memory = ["Wdk_System"]
Wdk_System_OfflineRegistry = ["Wdk_System"]
Wdk_System_Registry = ["Wdk_System"]
Wdk_System_SystemInformation = ["Wdk_System"]
Expand Down
2 changes: 1 addition & 1 deletion crates/libs/sys/features.json

Large diffs are not rendered by default.

32 changes: 32 additions & 0 deletions crates/libs/sys/src/Windows/Wdk/Devices/Bluetooth/mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#[cfg(feature = "Win32_Devices_Properties")]
pub const DEVPKEY_Bluetooth_ClassOfDevice: super::super::super::Win32::Devices::Properties::DEVPROPKEY = super::super::super::Win32::Devices::Properties::DEVPROPKEY { fmtid: windows_sys::core::GUID::from_u128(0x2bd67d8b_8beb_48d5_87e0_6cda3428040a), pid: 10 };
#[cfg(feature = "Win32_Devices_Properties")]
pub const DEVPKEY_Bluetooth_ClassOfDevice_Deprecated: super::super::super::Win32::Devices::Properties::DEVPROPKEY = super::super::super::Win32::Devices::Properties::DEVPROPKEY { fmtid: windows_sys::core::GUID::from_u128(0x2bd67d8b_8beb_48d5_87e0_6cda3428040a), pid: 4 };
#[cfg(feature = "Win32_Devices_Properties")]
pub const DEVPKEY_Bluetooth_DeviceAddress: super::super::super::Win32::Devices::Properties::DEVPROPKEY = super::super::super::Win32::Devices::Properties::DEVPROPKEY { fmtid: windows_sys::core::GUID::from_u128(0x2bd67d8b_8beb_48d5_87e0_6cda3428040a), pid: 1 };
#[cfg(feature = "Win32_Devices_Properties")]
pub const DEVPKEY_Bluetooth_DeviceFlags: super::super::super::Win32::Devices::Properties::DEVPROPKEY = super::super::super::Win32::Devices::Properties::DEVPROPKEY { fmtid: windows_sys::core::GUID::from_u128(0x2bd67d8b_8beb_48d5_87e0_6cda3428040a), pid: 3 };
#[cfg(feature = "Win32_Devices_Properties")]
pub const DEVPKEY_Bluetooth_DeviceManufacturer: super::super::super::Win32::Devices::Properties::DEVPROPKEY = super::super::super::Win32::Devices::Properties::DEVPROPKEY { fmtid: windows_sys::core::GUID::from_u128(0x2bd67d8b_8beb_48d5_87e0_6cda3428040a), pid: 4 };
#[cfg(feature = "Win32_Devices_Properties")]
pub const DEVPKEY_Bluetooth_DeviceModelNumber: super::super::super::Win32::Devices::Properties::DEVPROPKEY = super::super::super::Win32::Devices::Properties::DEVPROPKEY { fmtid: windows_sys::core::GUID::from_u128(0x2bd67d8b_8beb_48d5_87e0_6cda3428040a), pid: 5 };
#[cfg(feature = "Win32_Devices_Properties")]
pub const DEVPKEY_Bluetooth_DevicePID: super::super::super::Win32::Devices::Properties::DEVPROPKEY = super::super::super::Win32::Devices::Properties::DEVPROPKEY { fmtid: windows_sys::core::GUID::from_u128(0x2bd67d8b_8beb_48d5_87e0_6cda3428040a), pid: 8 };
#[cfg(feature = "Win32_Devices_Properties")]
pub const DEVPKEY_Bluetooth_DeviceProductVersion: super::super::super::Win32::Devices::Properties::DEVPROPKEY = super::super::super::Win32::Devices::Properties::DEVPROPKEY { fmtid: windows_sys::core::GUID::from_u128(0x2bd67d8b_8beb_48d5_87e0_6cda3428040a), pid: 9 };
#[cfg(feature = "Win32_Devices_Properties")]
pub const DEVPKEY_Bluetooth_DeviceVID: super::super::super::Win32::Devices::Properties::DEVPROPKEY = super::super::super::Win32::Devices::Properties::DEVPROPKEY { fmtid: windows_sys::core::GUID::from_u128(0x2bd67d8b_8beb_48d5_87e0_6cda3428040a), pid: 7 };
#[cfg(feature = "Win32_Devices_Properties")]
pub const DEVPKEY_Bluetooth_DeviceVIDSource: super::super::super::Win32::Devices::Properties::DEVPROPKEY = super::super::super::Win32::Devices::Properties::DEVPROPKEY { fmtid: windows_sys::core::GUID::from_u128(0x2bd67d8b_8beb_48d5_87e0_6cda3428040a), pid: 6 };
#[cfg(feature = "Win32_Devices_Properties")]
pub const DEVPKEY_Bluetooth_LastConnectedTime: super::super::super::Win32::Devices::Properties::DEVPROPKEY = super::super::super::Win32::Devices::Properties::DEVPROPKEY { fmtid: windows_sys::core::GUID::from_u128(0x2bd67d8b_8beb_48d5_87e0_6cda3428040a), pid: 11 };
#[cfg(feature = "Win32_Devices_Properties")]
pub const DEVPKEY_Bluetooth_LastConnectedTime_Deprecated: super::super::super::Win32::Devices::Properties::DEVPROPKEY = super::super::super::Win32::Devices::Properties::DEVPROPKEY { fmtid: windows_sys::core::GUID::from_u128(0x2bd67d8b_8beb_48d5_87e0_6cda3428040a), pid: 5 };
#[cfg(feature = "Win32_Devices_Properties")]
pub const DEVPKEY_Bluetooth_LastSeenTime: super::super::super::Win32::Devices::Properties::DEVPROPKEY = super::super::super::Win32::Devices::Properties::DEVPROPKEY { fmtid: windows_sys::core::GUID::from_u128(0x2bd67d8b_8beb_48d5_87e0_6cda3428040a), pid: 12 };
#[cfg(feature = "Win32_Devices_Properties")]
pub const DEVPKEY_Bluetooth_ServiceGUID: super::super::super::Win32::Devices::Properties::DEVPROPKEY = super::super::super::Win32::Devices::Properties::DEVPROPKEY { fmtid: windows_sys::core::GUID::from_u128(0x2bd67d8b_8beb_48d5_87e0_6cda3428040a), pid: 2 };
pub const GUID_BTHDDI_PROFILE_DRIVER_INTERFACE: windows_sys::core::GUID = windows_sys::core::GUID::from_u128(0x94a59aa8_4383_4286_aa4f_34a160f40004);
pub const GUID_BTHDDI_SDP_NODE_INTERFACE: windows_sys::core::GUID = windows_sys::core::GUID::from_u128(0x81a7fdf3_86c1_4be8_a8c8_2a6d188b4177);
pub const GUID_BTHDDI_SDP_PARSE_INTERFACE: windows_sys::core::GUID = windows_sys::core::GUID::from_u128(0x4e719439_9cf1_4bab_ac1d_3279865743d2);
pub const GUID_BTH_DEVICE_INTERFACE: windows_sys::core::GUID = windows_sys::core::GUID::from_u128(0x00f40965_e89d_4487_9890_87c3abb211f4);
Original file line number Diff line number Diff line change
Expand Up @@ -25,18 +25,15 @@ pub struct VHF_CONFIG {
pub InstanceID: windows_sys::core::PWSTR,
pub ReportDescriptorLength: u16,
pub ReportDescriptor: *mut u8,
pub EvtVhfReadyForNextReadReport: PEVT_VHF_READY_FOR_NEXT_READ_REPORT,
pub EvtVhfAsyncOperationGetFeature: PEVT_VHF_ASYNC_OPERATION,
pub EvtVhfAsyncOperationSetFeature: PEVT_VHF_ASYNC_OPERATION,
pub EvtVhfAsyncOperationWriteReport: PEVT_VHF_ASYNC_OPERATION,
pub EvtVhfAsyncOperationGetInputReport: PEVT_VHF_ASYNC_OPERATION,
pub EvtVhfCleanup: PEVT_VHF_CLEANUP,
pub EvtVhfReadyForNextReadReport: EVT_VHF_READY_FOR_NEXT_READ_REPORT,
pub EvtVhfAsyncOperationGetFeature: EVT_VHF_ASYNC_OPERATION,
pub EvtVhfAsyncOperationSetFeature: EVT_VHF_ASYNC_OPERATION,
pub EvtVhfAsyncOperationWriteReport: EVT_VHF_ASYNC_OPERATION,
pub EvtVhfAsyncOperationGetInputReport: EVT_VHF_ASYNC_OPERATION,
pub EvtVhfCleanup: EVT_VHF_CLEANUP,
pub HardwareIDsLength: u16,
pub HardwareIDs: windows_sys::core::PWSTR,
}
pub type EVT_VHF_ASYNC_OPERATION = Option<unsafe extern "system" fn(vhfclientcontext: *const core::ffi::c_void, vhfoperationhandle: *const core::ffi::c_void, vhfoperationcontext: *const core::ffi::c_void, hidtransferpacket: *const HID_XFER_PACKET)>;
pub type EVT_VHF_CLEANUP = Option<unsafe extern "system" fn(vhfclientcontext: *const core::ffi::c_void)>;
pub type EVT_VHF_READY_FOR_NEXT_READ_REPORT = Option<unsafe extern "system" fn(vhfclientcontext: *const core::ffi::c_void)>;
pub type PEVT_VHF_ASYNC_OPERATION = Option<unsafe extern "system" fn()>;
pub type PEVT_VHF_CLEANUP = Option<unsafe extern "system" fn()>;
pub type PEVT_VHF_READY_FOR_NEXT_READ_REPORT = Option<unsafe extern "system" fn()>;
2 changes: 2 additions & 0 deletions crates/libs/sys/src/Windows/Wdk/Devices/mod.rs
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
#[cfg(feature = "Wdk_Devices_Bluetooth")]
pub mod Bluetooth;
#[cfg(feature = "Wdk_Devices_HumanInterfaceDevice")]
pub mod HumanInterfaceDevice;
70 changes: 35 additions & 35 deletions crates/libs/sys/src/Windows/Wdk/Foundation/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,7 @@ pub type DMA_COMMON_BUFFER_VECTOR = isize;
#[derive(Clone, Copy)]
pub struct DRIVER_EXTENSION {
pub DriverObject: *mut DRIVER_OBJECT,
pub AddDevice: *mut DRIVER_ADD_DEVICE,
pub AddDevice: DRIVER_ADD_DEVICE,
pub Count: u32,
pub ServiceKeyName: super::super::Win32::Foundation::UNICODE_STRING,
}
Expand All @@ -344,10 +344,10 @@ pub struct DRIVER_OBJECT {
pub DriverName: super::super::Win32::Foundation::UNICODE_STRING,
pub HardwareDatabase: *mut super::super::Win32::Foundation::UNICODE_STRING,
pub FastIoDispatch: *mut FAST_IO_DISPATCH,
pub DriverInit: *mut DRIVER_INITIALIZE,
pub DriverStartIo: *mut DRIVER_STARTIO,
pub DriverUnload: *mut DRIVER_UNLOAD,
pub MajorFunction: [*mut DRIVER_DISPATCH; 28],
pub DriverInit: DRIVER_INITIALIZE,
pub DriverStartIo: DRIVER_STARTIO,
pub DriverUnload: DRIVER_UNLOAD,
pub MajorFunction: [DRIVER_DISPATCH; 28],
}
pub type ECP_HEADER = isize;
pub type ECP_LIST = isize;
Expand Down Expand Up @@ -395,33 +395,33 @@ pub union ERESOURCE_1 {
#[derive(Clone, Copy)]
pub struct FAST_IO_DISPATCH {
pub SizeOfFastIoDispatch: u32,
pub FastIoCheckIfPossible: *mut FAST_IO_CHECK_IF_POSSIBLE,
pub FastIoRead: *mut FAST_IO_READ,
pub FastIoWrite: *mut FAST_IO_WRITE,
pub FastIoQueryBasicInfo: *mut FAST_IO_QUERY_BASIC_INFO,
pub FastIoQueryStandardInfo: *mut FAST_IO_QUERY_STANDARD_INFO,
pub FastIoLock: *mut FAST_IO_LOCK,
pub FastIoUnlockSingle: *mut FAST_IO_UNLOCK_SINGLE,
pub FastIoUnlockAll: *mut FAST_IO_UNLOCK_ALL,
pub FastIoUnlockAllByKey: *mut FAST_IO_UNLOCK_ALL_BY_KEY,
pub FastIoDeviceControl: *mut FAST_IO_DEVICE_CONTROL,
pub AcquireFileForNtCreateSection: *mut FAST_IO_ACQUIRE_FILE,
pub ReleaseFileForNtCreateSection: *mut FAST_IO_RELEASE_FILE,
pub FastIoDetachDevice: *mut FAST_IO_DETACH_DEVICE,
pub FastIoQueryNetworkOpenInfo: *mut FAST_IO_QUERY_NETWORK_OPEN_INFO,
pub AcquireForModWrite: *mut FAST_IO_ACQUIRE_FOR_MOD_WRITE,
pub MdlRead: *mut FAST_IO_MDL_READ,
pub MdlReadComplete: *mut FAST_IO_MDL_READ_COMPLETE,
pub PrepareMdlWrite: *mut FAST_IO_PREPARE_MDL_WRITE,
pub MdlWriteComplete: *mut FAST_IO_MDL_WRITE_COMPLETE,
pub FastIoReadCompressed: *mut FAST_IO_READ_COMPRESSED,
pub FastIoWriteCompressed: *mut FAST_IO_WRITE_COMPRESSED,
pub MdlReadCompleteCompressed: *mut FAST_IO_MDL_READ_COMPLETE_COMPRESSED,
pub MdlWriteCompleteCompressed: *mut FAST_IO_MDL_WRITE_COMPLETE_COMPRESSED,
pub FastIoQueryOpen: *mut FAST_IO_QUERY_OPEN,
pub ReleaseForModWrite: *mut FAST_IO_RELEASE_FOR_MOD_WRITE,
pub AcquireForCcFlush: *mut FAST_IO_ACQUIRE_FOR_CCFLUSH,
pub ReleaseForCcFlush: *mut FAST_IO_RELEASE_FOR_CCFLUSH,
pub FastIoCheckIfPossible: FAST_IO_CHECK_IF_POSSIBLE,
pub FastIoRead: FAST_IO_READ,
pub FastIoWrite: FAST_IO_WRITE,
pub FastIoQueryBasicInfo: FAST_IO_QUERY_BASIC_INFO,
pub FastIoQueryStandardInfo: FAST_IO_QUERY_STANDARD_INFO,
pub FastIoLock: FAST_IO_LOCK,
pub FastIoUnlockSingle: FAST_IO_UNLOCK_SINGLE,
pub FastIoUnlockAll: FAST_IO_UNLOCK_ALL,
pub FastIoUnlockAllByKey: FAST_IO_UNLOCK_ALL_BY_KEY,
pub FastIoDeviceControl: FAST_IO_DEVICE_CONTROL,
pub AcquireFileForNtCreateSection: FAST_IO_ACQUIRE_FILE,
pub ReleaseFileForNtCreateSection: FAST_IO_RELEASE_FILE,
pub FastIoDetachDevice: FAST_IO_DETACH_DEVICE,
pub FastIoQueryNetworkOpenInfo: FAST_IO_QUERY_NETWORK_OPEN_INFO,
pub AcquireForModWrite: FAST_IO_ACQUIRE_FOR_MOD_WRITE,
pub MdlRead: FAST_IO_MDL_READ,
pub MdlReadComplete: FAST_IO_MDL_READ_COMPLETE,
pub PrepareMdlWrite: FAST_IO_PREPARE_MDL_WRITE,
pub MdlWriteComplete: FAST_IO_MDL_WRITE_COMPLETE,
pub FastIoReadCompressed: FAST_IO_READ_COMPRESSED,
pub FastIoWriteCompressed: FAST_IO_WRITE_COMPRESSED,
pub MdlReadCompleteCompressed: FAST_IO_MDL_READ_COMPLETE_COMPRESSED,
pub MdlWriteCompleteCompressed: FAST_IO_MDL_WRITE_COMPLETE_COMPRESSED,
pub FastIoQueryOpen: FAST_IO_QUERY_OPEN,
pub ReleaseForModWrite: FAST_IO_RELEASE_FOR_MOD_WRITE,
pub AcquireForCcFlush: FAST_IO_ACQUIRE_FOR_CCFLUSH,
pub ReleaseForCcFlush: FAST_IO_RELEASE_FOR_CCFLUSH,
}
#[repr(C)]
#[cfg(feature = "Win32_System_Kernel")]
Expand Down Expand Up @@ -724,7 +724,7 @@ pub struct IO_STACK_LOCATION_0_20 {
#[derive(Clone, Copy)]
pub struct IO_STACK_LOCATION_0_21 {
pub Length: u32,
pub StartSid: super::super::Win32::Foundation::PSID,
pub StartSid: super::super::Win32::Security::PSID,
pub SidList: *mut super::Storage::FileSystem::FILE_GET_QUOTA_INFORMATION,
pub SidListLength: u32,
}
Expand Down Expand Up @@ -888,7 +888,7 @@ pub struct IRP {
pub Anonymous: IRP_0,
pub UserEvent: *mut KEVENT,
pub Overlay: IRP_2,
pub CancelRoutine: *mut DRIVER_CANCEL,
pub CancelRoutine: DRIVER_CANCEL,
pub UserBuffer: *mut core::ffi::c_void,
pub Tail: IRP_3,
}
Expand Down Expand Up @@ -1169,7 +1169,7 @@ pub type PKPROCESS = isize;
pub type PKTHREAD = isize;
pub type PNOTIFY_SYNC = isize;
pub type POBJECT_TYPE = isize;
pub type POHANDLE = isize;
pub type POHANDLE = *mut core::ffi::c_void;
pub type PPCW_BUFFER = isize;
pub type PPCW_INSTANCE = isize;
pub type PPCW_REGISTRATION = isize;
Expand Down
Loading