次の方法で共有


CompactVirtualDisk 関数 (virtdisk.h)

仮想ハード ディスク (VHD) バッキング ストア ファイルのサイズを小さくします。

構文

DWORD CompactVirtualDisk(
  [in]           HANDLE                           VirtualDiskHandle,
  [in]           COMPACT_VIRTUAL_DISK_FLAG        Flags,
  [in, optional] PCOMPACT_VIRTUAL_DISK_PARAMETERS Parameters,
  [in, optional] LPOVERLAPPED                     Overlapped
);

パラメーター

[in] VirtualDiskHandle

OpenVirtualDisk に渡される VirtualDiskAccessMask パラメーターのVIRTUAL_DISK_ACCESS_METAOPS フラグを使用して開かれている必要がある、開いている仮想ディスクへのハンドル。 仮想ディスクを開く方法については、 OpenVirtualDisk 関数を参照してください。

[in] Flags

COMPACT_VIRTUAL_DISK_FLAG列挙のCOMPACT_VIRTUAL_DISK_FLAG_NONE値 (0) である必要があります。

[in, optional] Parameters

圧縮パラメーター データを含む有効な COMPACT_VIRTUAL_DISK_PARAMETERS 構造体への省略可能なポインター。

[in, optional] Overlapped

非同期操作が必要な場合は、有効な OVERLAPPED 構造体への省略可能なポインター。

戻り値

要求の状態。

関数が成功した場合、戻り値は ERROR_SUCCESS

関数が失敗した場合、戻り値はエラー コードです。 詳細については、「 システム エラー コード」を参照してください。

注釈

圧縮は、動的に拡張または差分が可能な仮想ディスクでのみ実行できます。

圧縮には 2 種類があります。

  • 最初の種類であるファイル システム対応圧縮では、NTFS ファイル システムを使用して空き領域を決定します。 これを行うには、OpenVirtualDisk に渡される VirtualDiskAccessMask パラメーターにVIRTUAL_DISK_ACCESS_METAOPSフラグとVIRTUAL_DISK_ACCESS_ATTACH_RO フラグを含め、AttachVirtualDisk を呼び出して VHD をアタッチし、VHD が CompactVirtualDisk を呼び出してアタッチされている間に、VHD を読み取り専用デバイスとしてアタッチします。 圧縮を行う前に VHD をデタッチすると、圧縮が完了する前に圧縮でエラーが返される可能性があります (圧縮のキャンセルと同様)。
  • 2 番目の種類であるファイル システムに依存しない圧縮では、ファイル システムは含まれませんが、完全にゼロ (0) で満たされた VHD ブロックのみが検索されます。 これを行うには、OpenVirtualDisk に渡される VirtualDiskAccessMask パラメーターに VIRTUAL_DISK_ACCESS_METAOPS フラグを含め、CompactVirtualDisk を呼び出します。
ファイル システム対応圧縮は最も効率的な圧縮の種類ですが、最初にファイル システム対応圧縮を使用した後、ファイル システムに依存しない圧縮を使用すると、最小の VHD が生成されます。

仮想ディスクでの圧縮操作は安全に中断し、後で再実行できます。 中断された仮想ディスク ファイルを再度開くと、開くときに仮想ディスク ファイルのサイズが減少する可能性があります。

圧縮は、仮想ディスクの大きさと、移動が必要なブロックの数に応じて、CPU を集中的に使用したり、I/O 集中型にしたりできます。

CompactVirtualDisk 関数は、呼び出し元と同じセキュリティ コンテキストで仮想ディスク上で実行されます。

要件

要件
サポートされている最小のクライアント Windows 7
サポートされている最小のサーバー Windows Server 2008 R2
対象プラットフォーム Windows
ヘッダー virtdisk.h
Library VirtDisk.lib
[DLL] VirtDisk.dll

こちらもご覧ください

VHD について

VHD リファレンス