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 メンバーは、パーセンテージ値の計算に使用することを目的としており、それぞれの特定の数値は意味がありません。 次の計算の結果のみが意味があります。 CurrentValueCompletionValue に 100 を掛けた値は、 OperationStatusERROR_IO_PENDINGを返している場合でも、達成率 (最大 100%) に等しくなります。 この割合は、 GetVirtualDiskOperationProgress 関数の後続の呼び出しで増加するとは限らず、減少する可能性があります。 進行状況の追跡が現在の最大パーセンテージをローカルに格納することによって正の値のみにしたい場合、これらの減少した割合は無視しても問題ありません。

CurrentValue メンバーと CompletionValue メンバーは、GetVirtualDiskOperationProgress 関数の後続の呼び出しで異なる場合があるため、同じ呼び出しから同時に一緒に使用する必要があります。 つまり、どちらか一方をローカルに保存してから 、GetVirtualDiskOperationProgress 関数を別の呼び出しで、前の値のうち、より新しい呼び出しのもう一方の値と共に使用することを想定して呼び出しても無効です。

OperationStatus メンバーは完了のインジケーターであり、前に説明した達成率の計算ではありません。 このデータ メンバーが ERROR_IO_PENDING 状態コードでを返す限り、I/O 操作はまだ完了していません。

要件

要件
サポートされている最小のクライアント Windows 7
サポートされている最小のサーバー Windows Server 2008 R2
Header virtdisk.h

こちらもご覧ください

VHD について

GetVirtualDiskOperationProgress

VHD リファレンス