objective-c - 如何使用 Objective-C 重命名卷(分区)?

标签 objective-c ntfs vhd

我以不同格式(NTFS、FAT32、FAT16、HFS +)创建 vhd,我找不到获取 NTFS 分区的 $ Volume_name 偏移量的方法,而且我想将字符串转换为 $ Volume_name。通过观察 NTFS 分区的 $ Volume_name,我能够看到该字符串被剪切(每个字符之后有一个空字符,例如我们在 Volume_name 的十六进制中读取的内容为“WIN10EN”,在十六进制中读取为“57494e3130454e”,如果我们转到 $volume_name 的偏移量,我们将使用十六进制编辑器读取 570049004e003100300045004e 及其表示形式 ascii“W I N 1 0 E N”。 因此我的问题是有一个命令来获取 $Volume_name 的偏移量(偏移量以字节 15776 或 0x3DA0 为单位)? 是否有字符串转换来命名卷?

最佳答案

您好,要在 Mac 上使用 Xcode 重命名卷,最简单的方法是使用 DiskArbitration的功能以及更具体的

"void DADiskRename (DADiskRef disk, CFStringRef name, DADiskRenameOptions options, DADiskRenameCallback callback, void * context);
"

带有空回调。哪个可以给。

#import <DiskArbitration / DiskArbitration.h>
#import <Cocoa / Cocoa.h>



Void MountCallback (DADiskRef disk, DADitererRef dissenter, void * context);

Void DADiskRename (DADiskRef disk, CFStringRef name, DADiskRenameOptions options, DADiskRenameCallback callback, void * context);
Int rename (char * argv, char * device)
Int renomer ((char * argv, char * device)
{

    Const char * deviceName = device;

    Renom = 1;

    CFStringRef name = CFStringCreateWithCString (NULL, argv, kCFStringEncodingUTF8);



    DASessionRef session = DASessionCreate (kCFAllocatorDefault);

    DADiskRef disk = DADiskCreateFromBSDName (kCFAllocatorDefault, session, deviceName);

    DADiskRename (disk, name, 0x00000000, MountCallback, (void *) deviceName);

    DASessionSetDispatchQueue (session, NULL);

    CFRelease (session);

    Session = NULL;

Return EXIT_SUCCESS;


}



Void MountCallback (DADiskRef disk, DADitererRef dissenter, void * context) {

    Return;
}

关于objective-c - 如何使用 Objective-C 重命名卷(分区)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40900974/

相关文章:

objective-c - Objective-C 中的@testable 类比

objective-c - 不兼容的指针类型警告(在 Objective-C 中)

vb6 - 如何使用 VB 6 读取硬盘卷序列号?

Python:如何在 Windows 上与 unicode 文件名交互? (Python 2.7)

java - 为什么 "Local System"帐户缺少对 NTFS 文件系统的权限(将 java 作为 windows 服务运行)

image - 如何将标准虚拟机导入开发测试实验室

vhd - Lattice Diamond 显示综合退出为 9

objective-c - 读取 iPhone 的环境光传感器

objective-c - 使用 objective-c 中用户选择的时间创建NSDate

powershell - 在哪里可以找到 Convert-VHD PowerShell 命令