磁盘分区——使用示例
磁盘分区——相关函数
定义盘符 | DefineDosDeviceA | 定义盘符(标志,盘符,路径) | 定义、重新定义或删除 MS-DOS 设备名称。 |
硬件控制 | DeviceIoControl | 硬件控制(文件流,代码,输入,大小, @输出,长度,已收,重叠类) | 将控制代码直接发送到指定的设备驱动程序,导致相应的设备执行相应的操作。 |
擦除磁盘 | EraseTape | 擦除磁盘(硬件,技术,立即) | 可擦除磁盘(创建文件句柄)的全部或部分内容。技术:0在当前位置写入擦除间隙或数据结束标记,1清除从当前位置到当前分区末尾 |
设备列表 | QueryDosDeviceA | 设备列表(名称,@内容,大小) | 检索有关 MS-DOS 设备名称的当前映射或名称列表。名称为0获取名称列表 |
磁盘参数 | GetTapeParameters | 磁盘参数(文件,类型,@大小,@信息) | 检索描述磁盘或磁盘驱动器的信息。类型:0分区,1驱动器 |
分区磁盘 | SetTapeParameters | 分区磁盘(文件,类型,信息) | 指定磁带的块大小或配置磁带设备。信息。类型:0分区,1驱动器 |
磁盘定位 | GetTapePosition | 磁盘定位(文件,类型,@区号,@低位,@高位) | 以逻辑块或绝对块形式检索磁带的当前地址。类型:0设备块,1逻辑块 |
定位磁盘 | SetTapePosition | 定位磁盘(文件,定位,分区,低位,高位,立即) | 设置指定设备上的磁带位置。 |
磁盘状态 | GetTapeStatus | 磁盘状态(文件) | 确定磁带设备是否已准备好处理磁带命令。返回值0=无错误 |
磁盘准备 | PrepareTape | 磁盘准备(文件,准备,立即) | 准备要访问或删除的磁带。准备0=开头,1起始,2末尾,3锁定,4解锁,5低格 |
启动参数 | GetCommandLineA | 参数=启动参数 | 返回一个指向当前进程的命令行字符串的指针 |
取本机名 | GetComputerNameA | 长度=取本机名(名称,长度) | 获取当前系统的计算机名称,返回计算机名的长度 |
改本机名 | SetComputerNameA | 长度=改本机名(名称) | 修改当前系统的计算机名称,失败返回0 |
创建分区 | CreateTapePartition | 创建分区(设备,分类,区数,大小) | 重新格式化磁盘分区。分类0默认1指定区数,2指定区数和大小(MB) |
分区空间 | GetDiskFreeSpaceA | 分区空间(目录,扇区数,扇区大小,可用群集,用户配额) | 检索有关指定磁盘的信息,包括磁盘上的可用空间量。 |
分区容量 | GetDiskFreeSpaceExA | 分区容量(目录,你可用,你可用总数,可用总数 | 检索有关磁盘卷上可用空间量的信息 |
磁盘类型 | GetLogicalDrives | 类型=磁盘类型(盘符) | 判断磁盘类型。类型=2可移动盘 3硬盘 4网络盘 5光驱 6 RAM磁盘 |
可用磁盘 | GetLogicalDrives | 磁盘=可用磁盘 | 返回表示当前可用磁盘驱动器的位掩码 |
可用盘符 | GetLogicalDriveStringsA | 长度=可用盘符(长度,内容) | 返回指定系统中有效驱动器的字符串长度 |
取卷信息 | GetVolumeInformationA | 取卷信息(卷,@卷名,大小,@序列号,@名长, 关联,@文系名,长度) | 检索与指定根目录关联的文件系统和卷的相关信息。 |
改卷标签 | SetVolumeLabelA | 改卷标签(卷名,标签) | 设置文件系统卷的标签。 |
磁盘标记 | WriteTapemark | 磁盘标记(文件,标记类型,数量,立即) | 将指定数量的文件标记(1)、设置标记(0)、短文件标记(2)或长文件标记(3)写入磁带设备。 |
磁盘参数类
中文名字 | 英文名称 | 长度 | 作用解释 |
磁盘参数类 | TAPE_GET_MEDIA_PARAMETERS | 28 | 描述磁带驱动器中的磁带。 |
磁盘参数类 成员表 | |||
---|---|---|---|
中文 | 英文 | 类型 | 作用解释 |
分区低数 | Capacity.LowPart | 整数 | 当前磁带分区上的字节总数。 |
分区高数 | Capacity.HighPart | 整数 | 当前磁带分区上的字节总数。 |
剩余低数 | Remaining.LowPart | 整数 | 当前位置与当前磁带分区结束之间的字节数。 |
剩余高数 | Remaining.HighPart | 整数 | 当前位置与当前磁带分区结束之间的字节数。 |
分块 | BlockSize | 整数 | 每个块的字节数。 |
区数 | PartitionCount | 整数 | 磁带上的分区数。 |
写保护 | WriteProtected | 整数 | 如果此成员为 TRUE,则磁带受写保护。 否则,就不是架构拥有的。 |
磁盘准备
英文名称 | 数值 | 作用解释 |
TAPE_FORMAT | 5 | 执行磁带的低级别格式。 目前,只有 QIC117 设备支持此功能。 |
TAPE_LOAD | 0 | 加载磁带并将磁带移到开头。 |
TAPE_LOCK | 3 | 锁定磁带弹出机制,以便不会意外弹出磁带。 |
TAPE_TENSION | 2 | 通过将磁带移到磁带的末尾并移回开头来调整紧张度。 并非所有设备都支持此选项。 如果不支持此值,则忽略此值。 |
TAPE_UNLOAD | 1 | 将磁带移到开始处,以便从设备中删除。 成功卸载操作后,设备会将错误返回给尝试访问磁带的应用程序,直到再次加载磁带。 |
TAPE_UNLOCK | 4 | 解锁磁带弹出机制。 |
磁盘定位
英文名称 | 数值 | 作用解释 |
TAPE_REWIND | 0 | 将磁带移动到当前分区的开头。 将忽略 dwPartition、 dwOffsetLow 和 dwOffsetHigh 参数。 |
TAPE_ABSOLUTE_BLOCK | 1 | 将磁带移动到 dwOffsetLow 和 dwOffsetHigh 参数指定的特定于设备的块地址。 将忽略 dwPartition 参数。 |
TAPE_LOGICAL_BLOCK | 2 | 将磁带移动到 dwPartition 指定的分区中由 dwOffsetLow 和 dwOffsetHigh 指定的块地址。 |
TAPE_SPACE_END_OF_DATA | 4 | 将磁带移到 dwPartition 指定的分区上的数据的末尾。 |
TAPE_SPACE_RELATIVE_BLOCKS | 5 | 将磁带向前 (或向后移动) 当前分区中 dwOffsetLow 和 dwOffsetHigh 指定的块数。 将忽略 dwPartition 参数。 |
TAPE_SPACE_FILEMARKS | 6 | 将磁带向前移动 (或向后移动) 当前分区中 dwOffsetLow 和 dwOffsetHigh 指定的文件标记数。 将忽略 dwPartition 参数。 |
TAPE_SPACE_SEQUENTIAL_FMKS | 7 | 将磁带向前移动 (或向后移动) 到当前分区中第一个出现的 n 个文件标记,其中 n 是 dwOffsetLow 和 dwOffsetHigh 指定的数字。 将忽略 dwPartition 参数。 |
TAPE_SPACE_SETMARKS | 8 | 将磁带向前 (或向后移动) 当前分区中 dwOffsetLow 和 dwOffsetHigh 指定的设置标记数。 将忽略 dwPartition 参数。 |
TAPE_SPACE_SEQUENTIAL_SMKS | 9 | 将磁带向前移动 (或向后移动) 到当前分区中第一个出现的 n 个设置标记,其中 n 是由 dwOffsetLow 和 dwOffsetHigh 指定的数字。 将忽略 dwPartition 参数。 |
定义盘符——使用标志
中文名称 | 英文名称 | 数值 | 作用 |
DDD_EXACT_MATCH_ON_REMOVE | 0x00000004 | 如果此值与 DDD_REMOVE_DEFINITION一起指定,则函数将使用完全匹配来确定要删除的映射。 使用此值可确保不会删除未定义的内容。 | |
DDD_NO_BROADCAST_SYSTEM | 0x00000008 | 不要广播 WM_SETTINGCHANGE 消息。 默认情况下,将广播此消息以通知 shell 和应用程序更改。 | |
DDD_RAW_TARGET_PATH | 0x00000001 | 按原样使用 lpTargetPath 字符串。 否则,它将从 MS-DOS 路径转换为路径。 | |
DDD_REMOVE_DEFINITION | 0x00000002 | 删除指定设备的指定定义。 为了确定要删除的定义,函数将遍查设备的映射列表,查找 lpTargetPath 与与此设备关联的每个映射的前缀的匹配项。 匹配的第一个映射是删除的映射,然后函数返回。 |
文件系统关联标志
英文名称 | 数值 | 作用解释 |
FILE_CASE_SENSITIVE_SEARCH | 0x00000001 | 指定的卷支持区分大小写的文件名。 |
FILE_CASE_PRESERVED_NAMES | 0x00000002 | 指定卷在磁盘上放置名称时支持保留文件名大小写。 |
FILE_UNICODE_ON_DISK | 0x00000004 | 指定的卷支持在磁盘上显示的文件名中的 Unicode。 |
FILE_PERSISTENT_ACLS | 0x00000008 | 指定的卷保留并强制实施 ACL) (访问控制列表。 例如,NTFS 文件系统保留并强制实施 ACL,而 FAT 文件系统则不保留。 |
FILE_FILE_COMPRESSION | 0x00000010 | 指定的卷支持基于文件的压缩。 |
FILE_VOLUME_QUOTAS | 0x00000020 | 指定的卷支持磁盘配额。 |
FILE_SUPPORTS_SPARSE_FILES | 0x00000040 | 指定的卷支持稀疏文件。 |
FILE_SUPPORTS_REPARSE_POINTS | 0x00000080 | 指定的卷支持重新分析点。 |
FILE_SUPPORTS_REMOTE_STORAGE | 0x00000100 | 文件系统支持远程存储。 |
FILE_RETURNS_CLEANUP_RESULT_INFO | 0x00000200 | 在成功的清理操作后,文件系统将返回描述清理期间执行的其他操作的信息,例如删除文件。 文件系统筛选器可以在其清理后回调中检查此信息。 |
FILE_SUPPORTS_POSIX_UNLINK_RENAME | 0x00000400 | 文件系统支持 POSIX 样式的删除和重命名操作。 |
FILE_VOLUME_IS_COMPRESSED | 0x00008000 | 指定的卷是压缩卷,例如 DoubleSpace 卷。 |
FILE_SUPPORTS_OBJECT_IDS | 0x00010000 | 指定的卷支持对象标识符。 |
FILE_SUPPORTS_ENCRYPTION | 0x00020000 | 指定的卷支持加密文件系统 (EFS) 。 有关详细信息,请参阅 文件加密。 |
FILE_NAMED_STREAMS | 0x00040000 | 指定的卷支持命名流。 |
FILE_READ_ONLY_VOLUME | 0x00080000 | 指定的卷是只读的。 |
FILE_SEQUENTIAL_WRITE_ONCE | 0x00100000 | 指定的卷支持单个顺序写入。 |
FILE_SUPPORTS_TRANSACTIONS | 0x00200000 | 指定的卷支持事务。 有关详细信息,请参阅 关于 KTM。 |
FILE_SUPPORTS_HARD_LINKS | 0x00400000 | 指定的卷支持硬链接。 有关详细信息,请参阅 硬链接和交汇点。 |
FILE_SUPPORTS_EXTENDED_ATTRIBUTES | 0x00800000 | 指定的卷支持扩展属性。 扩展属性是应用程序特定的元数据片段,应用程序可与文件关联,并且不属于文件数据。 |
FILE_SUPPORTS_OPEN_BY_FILE_ID | 0x01000000 | 文件系统支持通过 FileID 打开。 有关详细信息,请参阅 FILE_ID_BOTH_DIR_INFO。 |
FILE_SUPPORTS_USN_JOURNAL | 0x02000000 | 指定的卷支持更新序列号 (USN) 日志。 有关详细信息,请参阅 更改日记记录。 |
FILE_SUPPORTS_INTEGRITY_STREAMS | 0x04000000 | 文件系统支持 完整性流。 |
FILE_SUPPORTS_BLOCK_REFCOUNTING | 0x08000000 | 指定的卷支持在同一卷上的文件之间共享逻辑群集。 文件系统在写入共享群集时重新分配。 指示 FSCTL_DUPLICATE_EXTENTS_TO_FILE 是受支持的操作。 |
FILE_SUPPORTS_SPARSE_VDL | 0x10000000 | 文件系统跟踪文件的每个群集是否包含来自显式文件写入或自动零的有效数据 () 或无效数据 (尚未写入或归零) 。 使用稀疏的有效数据长度 (VDL) 的文件系统不会存储有效的数据长度,也不需要有效数据在文件中连续。 |
FILE_DAX_VOLUME | 0x20000000 | 指定的卷是 DAX) 卷 (直接访问。 |
FILE_SUPPORTS_GHOSTING | 0x40000000 | 文件系统支持重影。 |