VIRTUAL_DISK_PROGRESS 结构 (virtdisk.h)
包含 GetVirtualDiskOperationProgress 函数使用的当前虚拟硬盘 (VHD) 操作的进度和结果数据。
语法
typedef struct _VIRTUAL_DISK_PROGRESS {
DWORD OperationStatus;
ULONGLONG CurrentValue;
ULONGLONG CompletionValue;
} VIRTUAL_DISK_PROGRESS, *PVIRTUAL_DISK_PROGRESS;
成员
OperationStatus
系统 错误代码 状态值,如果操作仍在进行中,则将 ERROR_IO_PENDING 此成员;否则,该值是已完成操作的结果代码。
CurrentValue
操作的当前进度,与 CompletionValue 成员一起使用。
仅当 OperationStatusERROR_IO_PENDING时,此值才有意义。
CompletionValue
如果操作完成, CurrentValue 成员将为的值。
仅当 OperationStatusERROR_IO_PENDING时,此值才有意义。
注解
CurrentValue 和 CompletionValue 成员旨在用于计算百分比值,并且每个成员的特定数值在任何方面都不重要。 只有以下计算的结果才有意义: CurrentValue 除以 CompletionValue 乘以 100 等于完成百分比,最多且包括 100%,即使 OperationStatus 仍返回 ERROR_IO_PENDING。 随着对 GetVirtualDiskOperationProgress 函数的后续调用,此百分比不一定会增加,并且可能会降低。 如果希望仅通过本地存储当前最大百分比来跟踪进度,则可以安全地忽略这些降低的百分比。
CurrentValue 和 CompletionValue 成员在对 GetVirtualDiskOperationProgress 函数的后续调用中可能会有所不同,因此它们必须在同一调用中同时一起使用。 也就是说,将其中任一值保存在本地,然后对 GetVirtualDiskOperationProgress 函数进行另一次调用是无效的,而 GetVirtualDiskOperationProgress 函数期望将上述任一值与最近调用中的其他值一起使用。
OperationStatus 成员是完成的指示器,而不是前面所述的完成百分比计算。 只要此数据成员返回并返回 ERROR_IO_PENDING 状态代码,I/O 操作就尚未完成。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7 |
最低受支持的服务器 | Windows Server 2008 R2 |
标头 | virtdisk.h |