Метод IVdsDisk3::QueryFreeExtents (vds.h)
[Начиная с Windows 8 и Windows Server 2012, COM-интерфейс службы виртуальных дисков замечается API управления хранилищем Windows.]
Возвращает свободные экстенты на диске и выравнивает их по указанному размеру выравнивания.
Синтаксис
HRESULT QueryFreeExtents(
[in] ULONG ulAlign,
[out] VDS_DISK_FREE_EXTENT **ppFreeExtentArray,
[out] LONG *plNumberOfFreeExtents
);
Параметры
[in] ulAlign
Размер выравнивания в байтах. Это значение должно быть кратно размеру сектора диска. Если этот параметр равен нулю, используется значение выравнивания по умолчанию для тома. Выравнивание по умолчанию зависит от размера диска, на котором расположен том. Все разделы и тома выравниваются с помощью значений в следующем разделе реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vds\Alignment
Если этот раздел реестра не задан, выравнивание по умолчанию равно 1 МБ, если размер диска составляет 4 ГБ или больше, или 64 КБ, если диск меньше 4 ГБ.
[out] ppFreeExtentArray
Адрес переменной указателя, которая получает
массив VDS_DISK_FREE_EXTENT структур, по одной для каждого свободного экстента.
Вызывающие элементы должны освободить этот массив с помощью функции CoTaskMemFree . Если свободных экстентов нет, для указателя устанавливается значение NULL на выходных данных и его не нужно освобождать.
[out] plNumberOfFreeExtents
Указатель на переменную, которая получает общее количество VDS_DISK_FREE_EXTENT структур. Если свободных экстентов нет, для указателя устанавливается значение NULL на выходных данных и его не нужно освобождать.
Возвращаемое значение
Этот метод может возвращать стандартные значения HRESULT, такие как E_INVALIDARG или E_OUTOFMEMORY, а также возвращаемые значения VDS. Он также может возвращать коды преобразованных системных ошибок с помощью макроса HRESULT_FROM_WIN32 . Ошибки могут возникать из самого VDS или из используемого базового поставщика VDS . Возможные возвращаемые значения включают следующие.
Возвращаемый код/значение | Описание |
---|---|
|
Сведения о свободном экстенте были успешно возвращены. |
|
На диске отсутствуют свободные экстенты. |
|
Значение выравнивания, указанное в параметре ulAlign , не кратно размеру сектора диска. |
Требования
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | vds.h |