/****************************************************************************** * DiskService.h * * Copyright (c) 2021, longpanda * * 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 the Free Software Foundation; either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see . * */ #ifndef __DISKSERVICE_H__ #define __DISKSERVICE_H__ typedef struct VDS_PARA { UINT64 Attr; GUID Type; GUID Id; WCHAR Name[36]; ULONG NameLen; ULONGLONG Offset; CHAR DriveLetter; }VDS_PARA; //DISK API BOOL DISK_CleanDisk(int DriveIndex); BOOL DISK_DeleteVtoyEFIPartition(int DriveIndex, UINT64 EfiPartOffset); BOOL DISK_ChangeVtoyEFIAttr(int DriveIndex, UINT64 Offset, UINT64 Attr); BOOL DISK_ChangeVtoyEFI2ESP(int DriveIndex, UINT64 Offset); BOOL DISK_ChangeVtoyEFI2Basic(int DriveIndex, UINT64 Offset); BOOL DISK_ShrinkVolume(int DriveIndex, const char* VolumeGuid, CHAR DriveLetter, UINT64 OldBytes, UINT64 ReduceBytes); //VDS com BOOL VDS_CleanDisk(int DriveIndex); BOOL VDS_DeleteAllPartitions(int DriveIndex); BOOL VDS_DeleteVtoyEFIPartition(int DriveIndex, UINT64 EfiPartOffset); BOOL VDS_ChangeVtoyEFIAttr(int DriveIndex, UINT64 Offset, UINT64 Attr); BOOL VDS_ChangeVtoyEFI2ESP(int DriveIndex, UINT64 Offset); BOOL VDS_ChangeVtoyEFI2Basic(int DriveIndex, UINT64 Offset); BOOL VDS_ShrinkVolume(int DriveIndex, const char* VolumeGuid, CHAR DriveLetter, UINT64 OldBytes, UINT64 ReduceBytes); BOOL VDS_IsLastAvaliable(void); //diskpart.exe BOOL DSPT_CleanDisk(int DriveIndex); //powershell.exe BOOL PSHELL_CleanDisk(int DriveIndex); BOOL PSHELL_DeleteVtoyEFIPartition(int DriveIndex, UINT64 EfiPartOffset); BOOL PSHELL_ChangeVtoyEFI2ESP(int DriveIndex, UINT64 Offset); BOOL PSHELL_ChangeVtoyEFI2Basic(int DriveIndex, UINT64 Offset); BOOL PSHELL_ShrinkVolume(int DriveIndex, const char* VolumeGuid, CHAR DriveLetter, UINT64 OldBytes, UINT64 ReduceBytes); // // Internel define // #endif