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 プロバイダー から発生する可能性があります。 可能な戻り値は次のとおりです。
リターン コード/値 | 説明 |
---|---|
|
空きエクステント情報が正常に返されました。 |
|
ディスクに空きエクステントはありません。 |
|
ulAlign パラメーターで指定されたアラインメント値は、ディスク セクター サイズの倍数ではありません。 |
要件
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | vds.h |