mirror of
https://github.com/pbatard/rufus.git
synced 2025-05-29 22:15:21 -04:00
[misc] more headers cleanup
This commit is contained in:
parent
250d46e401
commit
ade5639c00
3 changed files with 33 additions and 33 deletions
30
src/drive.h
30
src/drive.h
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Rufus: The Reliable USB Formatting Utility
|
||||
* Drive access function calls
|
||||
* Copyright © 2011-2014 Pete Batard <pete@akeo.ie>
|
||||
* Copyright © 2011-2016 Pete Batard <pete@akeo.ie>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@ -19,6 +19,7 @@
|
|||
|
||||
#include <windows.h>
|
||||
#include <stdint.h>
|
||||
#include <winioctl.h> // for DISK_GEOMETRY
|
||||
|
||||
#pragma once
|
||||
|
||||
|
@ -26,7 +27,7 @@
|
|||
#define MOUNTMGRCONTROLTYPE ((ULONG)'m')
|
||||
#define MOUNTMGR_DOS_DEVICE_NAME "\\\\.\\MountPointManager"
|
||||
#define IOCTL_MOUNTMGR_QUERY_AUTO_MOUNT \
|
||||
CTL_CODE(MOUNTMGRCONTROLTYPE, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
CTL_CODE(MOUNTMGRCONTROLTYPE, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define IOCTL_MOUNTMGR_SET_AUTO_MOUNT \
|
||||
CTL_CODE(MOUNTMGRCONTROLTYPE, 16, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
|
||||
|
||||
|
@ -48,6 +49,31 @@ typedef struct {
|
|||
DISK_EXTENT Extents[8];
|
||||
} VOLUME_DISK_EXTENTS_REDEF;
|
||||
|
||||
static __inline BOOL UnlockDrive(HANDLE hDrive) {
|
||||
DWORD size;
|
||||
return DeviceIoControl(hDrive, FSCTL_UNLOCK_VOLUME, NULL, 0, NULL, 0, &size, NULL);
|
||||
}
|
||||
#define safe_unlockclose(h) do {if ((h != INVALID_HANDLE_VALUE) && (h != NULL)) {UnlockDrive(h); CloseHandle(h); h = INVALID_HANDLE_VALUE;}} while(0)
|
||||
|
||||
/* Current drive info */
|
||||
typedef struct {
|
||||
DWORD DeviceNumber;
|
||||
LONGLONG DiskSize;
|
||||
DISK_GEOMETRY Geometry;
|
||||
DWORD FirstSector;
|
||||
char proposed_label[16];
|
||||
int PartitionType;
|
||||
int nPartitions; // number of partitions we actually care about
|
||||
int FSType;
|
||||
BOOL has_protective_mbr;
|
||||
BOOL has_mbr_uefi_marker;
|
||||
struct {
|
||||
ULONG Allowed;
|
||||
ULONG Default;
|
||||
} ClusterSize[FS_MAX];
|
||||
} RUFUS_DRIVE_INFO;
|
||||
extern RUFUS_DRIVE_INFO SelectedDrive;
|
||||
|
||||
BOOL SetAutoMount(BOOL enable);
|
||||
BOOL GetAutoMount(BOOL* enabled);
|
||||
char* GetPhysicalName(DWORD DriveIndex);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue