IVdsDisk3::QueryFreeExtents メソッド (vds.h)

[Windows 8とWindows Server 2012以降、仮想ディスク サービス COM インターフェイスは Windows Storage Management API に置き換えられます。

ディスク上の空きエクステントを返し、指定した配置サイズに合わせて配置します。

構文

HRESULT QueryFreeExtents(
  [in]  ULONG                ulAlign,
  [out] VDS_DISK_FREE_EXTENT **ppFreeExtentArray,
  [out] LONG                 *plNumberOfFreeExtents
);

パラメーター

[in] ulAlign

配置サイズ (バイト単位)。 この値は、ディスク セクター サイズの倍数である必要があります。 このパラメーターが 0 の場合は、ボリュームの既定のアラインメント値が使用されます。 既定の配置は、ボリュームが配置されているディスクのサイズによって異なります。 すべてのパーティションとボリュームは、次のレジストリ キーの下の値を使用して調整されます。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vds\Alignment

このレジストリ キーが設定されていない場合、ディスクが 4 GB 以上の場合は既定の配置は 1 MB、ディスクが 4 GB より小さい場合は 64 KB です。

[out] ppFreeExtentArray

を受け取るポインター変数のアドレス
VDS_DISK_FREE_EXTENT構造体の配列。フリー エクステントごとに 1 つ。 呼び出し元は 、CoTaskMemFree 関数を使用してこの配列を解放する必要があります。 フリー・エクステントがない場合、ポインターは出力時に NULL に設定され、解放する必要はありません。

[out] plNumberOfFreeExtents

VDS_DISK_FREE_EXTENT構造体の合計数を受け取る変数へのポインター。 フリー・エクステントがない場合、ポインターは出力時に NULL に設定され、解放する必要はありません。

戻り値

このメソッドは、E_INVALIDARGやE_OUTOFMEMORYなどの標準の HRESULT 値と、VDS 固有の戻り値を返すことができます。 また、HRESULT_FROM_WIN32 マクロを使用して、変換されたシステム エラー コードを返すこともできます。 エラーは、VDS 自体または使用されている基になる VDS プロバイダー から発生する可能性があります。 可能な戻り値は次のとおりです。

リターン コード/値 説明
S_OK
空きエクステント情報が正常に返されました。
S_FALSE
ディスクに空きエクステントはありません。
VDS_E_ALIGN_NOT_SECTOR_SIZE_MULTIPLE
0x80042554L
ulAlign パラメーターで指定されたアラインメント値は、ディスク セクター サイズの倍数ではありません。

要件

   
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー vds.h

関連項目

IVdsDisk3