public void DeleteFile(string path) { InitializeIfNeed(); if (_manager.TryGetTarget(out var manager)) { var request = new EfsUnlinkFileCommandRequest(path); var response = (EfsUnlinkFileCommandResponse)manager.ExecuteQcdmCommandRequest(request); QcdmEfsErrorsUtils.ThrowQcdmEfsErrorsIfNeed(response.Error); } }
public void Close() { if (IsOpen) { CheckManager(); var request = new EfsCloseDirectoryCommandRequest(_directory); var response = (EfsCloseDirectoryCommandResponse)_manager.ExecuteQcdmCommandRequest(request); QcdmEfsErrorsUtils.ThrowQcdmEfsErrorsIfNeed(response.Error); _directory = -1; } }
private DirectoryEntry GetEntry(int index) { var request = new EfsReadDirectoryCommandRequest(_directory, index); var response = (EfsReadDirectoryCommandResponse)_manager.ExecuteQcdmCommandRequest(request); if (response.Error == QcdmEfsErrors.InvalidSequence) { return(null); } QcdmEfsErrorsUtils.ThrowQcdmEfsErrorsIfNeed(response.Error); return(response.DirectoryEntry); }
public void DeleteDirectory(string path) { InitializeIfNeed(); if (_manager.TryGetTarget(out var manager)) { var request = new EfsRemoveDirectoryCommandRequest(path); var response = manager.ExecuteQcdmCommandRequest <EfsRemoveDirectoryCommandResponse>(request); if (response != null) { QcdmEfsErrorsUtils.ThrowQcdmEfsErrorsIfNeed(response.Error); } } }
public void PutItemFile(string path, EfsFileFlag flags, int permission, byte[] data) { InitializeIfNeed(); if (_manager.TryGetTarget(out var manager)) { if (manager.IsOpen) { var request = new EfsPutItemFileCommandRequest(path, flags, permission, data); var response = (EfsPutItemFileCommandResponse)manager.ExecuteQcdmCommandRequest(request); QcdmEfsErrorsUtils.ThrowQcdmEfsErrorsIfNeed(response.Error); } } }
public void SyncNoWait(string path, ushort sequence) { InitializeIfNeed(); if (_manager.TryGetTarget(out var manager)) { if (manager.IsOpen) { var request = new EfsSyncNoWaitCommandRequest(path, sequence); var response = (EfsSyncNoWaitCommandResponse)manager.ExecuteQcdmCommandRequest(request); QcdmEfsErrorsUtils.ThrowQcdmEfsErrorsIfNeed(response.Error); } } }
public void CreateDirectory(string path, ushort mode) { InitializeIfNeed(); if (_manager.TryGetTarget(out var manager)) { var request = new EfsMakeDirectoryCommandRequest(mode, path); var response = (EfsMakeDirectoryCommandResponse)manager.ExecuteQcdmCommandRequest(request); if (response.Error != QcdmEfsErrors.DirectoryExist) { QcdmEfsErrorsUtils.ThrowQcdmEfsErrorsIfNeed(response.Error); } } }
public void CheckAccess(string path, byte permissionBits) { InitializeIfNeed(); if (_manager.TryGetTarget(out var manager)) { if (manager.IsOpen) { var request = new EfsAccessCommandRequest(path, permissionBits); var response = (EfsAccessCommandResponse)manager.ExecuteQcdmCommandRequest(request); QcdmEfsErrorsUtils.ThrowQcdmEfsErrorsIfNeed(response.Error); } } }
public void RenameFile(string path, string newPath) { InitializeIfNeed(); if (_manager.TryGetTarget(out var manager)) { if (manager.IsOpen) { var request = new EfsRenameFileCommandRequest(path, newPath); var response = (EfsRenameFileCommandResponse)manager.ExecuteQcdmCommandRequest(request); QcdmEfsErrorsUtils.ThrowQcdmEfsErrorsIfNeed(response.Error); } } }