#define FSCTL_UNLOCK_VOLUME
static int LockOrUnlockVolume(HANDLE Volume, BOOLEAN Lock)
int VolumeMain(int argc, const TCHAR *argv[])
void PrintDefaultUsage(const TCHAR *Command, const TCHAR *SubCommand, HandlerItem *HandlersList, int HandlerListCount)
static HandlerProc DiskFreeMain
#define INVALID_HANDLE_VALUE
DWORD WINAPI GetLastError(VOID)
static HandlerProc DismountMain
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesRead
int FindHandler(int argc, const TCHAR *argv[], HandlerItem *HandlersList, int HandlerListCount, void(*UsageHelper)(const TCHAR *))
#define FSCTL_DISMOUNT_VOLUME
static HandlerItem HandlersList[]
BOOL OpenVolume(LPCTSTR lpszVolumeName)
static void PrintUsage(const TCHAR *Command)
int() HandlerProc(int argc, const TCHAR *argv[])
#define GetDiskFreeSpaceEx
static VOID PrintErrorMessage(DWORD dwError)
BOOL WINAPI DeviceIoControl(IN HANDLE hDevice, IN DWORD dwIoControlCode, IN LPVOID lpInBuffer OPTIONAL, IN DWORD nInBufferSize OPTIONAL, OUT LPVOID lpOutBuffer OPTIONAL, IN DWORD nOutBufferSize OPTIONAL, OUT LPDWORD lpBytesReturned OPTIONAL, IN LPOVERLAPPED lpOverlapped OPTIONAL)
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
#define FSCTL_LOCK_VOLUME
_In_ FLT_SET_CONTEXT_OPERATION Operation