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时,此值才有意义。

注解

CurrentValueCompletionValue 成员旨在用于计算百分比值,并且每个成员的特定数值在任何方面都不重要。 只有以下计算的结果才有意义: CurrentValue 除以 CompletionValue 乘以 100 等于完成百分比,最多且包括 100%,即使 OperationStatus 仍返回 ERROR_IO_PENDING。 随着对 GetVirtualDiskOperationProgress 函数的后续调用,此百分比不一定会增加,并且可能会降低。 如果希望仅通过本地存储当前最大百分比来跟踪进度,则可以安全地忽略这些降低的百分比。

CurrentValueCompletionValue 成员在对 GetVirtualDiskOperationProgress 函数的后续调用中可能会有所不同,因此它们必须在同一调用中同时一起使用。 也就是说,将其中任一值保存在本地,然后对 GetVirtualDiskOperationProgress 函数进行另一次调用是无效的,而 GetVirtualDiskOperationProgress 函数期望将上述任一值与最近调用中的其他值一起使用。

OperationStatus 成员是完成的指示器,而不是前面所述的完成百分比计算。 只要此数据成员返回并返回 ERROR_IO_PENDING 状态代码,I/O 操作就尚未完成。

要求

要求
最低受支持的客户端 Windows 7
最低受支持的服务器 Windows Server 2008 R2
标头 virtdisk.h

另请参阅

关于 VHD

GetVirtualDiskOperationProgress

VHD 参考