Метод IVdsServiceUninstallDisk::UninstallDisks (vds.h)

[Начиная с Windows 8 и Windows Server 2012 COM-интерфейс службы виртуальных дисков замечается API управления хранилищем Windows.]

Удаляет набор дисков.

Синтаксис

HRESULT UninstallDisks(
  [in]  VDS_OBJECT_ID *pDiskIdArray,
  [in]  ULONG         ulCount,
  [in]  BOOLEAN       bForce,
  [out] BOOLEAN       *pbReboot,
  [out] HRESULT       *pResults
);

Параметры

[in] pDiskIdArray

Адрес буфера, содержащего массив идентификаторов объектов VDS, по одному для каждого удаляемого диска. Каждый идентификатор в массиве должен быть уникальным.

[in] ulCount

Число идентификаторов объектов VDS в буфере, на которые указывает параметр pDiskIdArray .

[in] bForce

Если задано значение TRUE, VDS удаляет диски, даже если тома не могут быть заблокированы или отключены.

[out] pbReboot

Адрес переменной BOOLEAN , которая получает значение TRUE , если пользователь должен перезагрузить компьютер, чтобы завершить процесс удаления.

[out] pResults

Адрес массива значений HRESULT , выделенного вызывающим объектом. На количество элементов в массиве указывает параметр pDiskIdArray . Первый элемент этого массива соответствует первому элементу в pDiskIdArray и т. д. Если какой-либо из дисков не удается инициализировать должным образом, конкретный код ошибки для сбоя возвращается в соответствующем элементе этого массива.

Возвращаемое значение

Этот метод может возвращать стандартные значения HRESULT , такие как E_INVALIDARG или E_OUTOFMEMORY, а также возвращаемые значения VDS. Он также может возвращать преобразованные коды системных ошибок с помощью макроса HRESULT_FROM_WIN32 . Ошибки могут возникать из самого VDS или из используемого базового поставщика VDS . Возможные возвращаемые значения включают следующие.

Возвращаемый код или значение Описание
S_OK
0
Диски успешно удалены.
S_FALSE
1
Этот метод возвращает предупреждение или код ошибки для одного или нескольких дисков.
VDS_S_UNABLE_TO_GET_GPT_ATTRIBUTES
0x0004245BL
Диски были успешно удалены, но не удалось получить атрибуты таблицы разделов GUID (GPT) для одного или нескольких дисков.
VDS_E_INTERNAL_ERROR
0x80042448L
В VDS произошла внутренняя ошибка. Дополнительные сведения см. в журнале событий.
VDS_E_MISSING_DISK
0x80042454L
Один или несколько дисков отсутствовали.
VDS_E_NO_DISK_PATHNAME
0x8004270FL
Не удалось получить путь для одного или нескольких дисков.
VDS_E_NO_VOLUME_PATHNAME
0x80042711L
Не удалось получить путь для одного или нескольких томов.
VDS_E_OBJECT_DELETED
0x8004240BL
Один или несколько указанных идентификаторов объектов VDS соответствуют дискам, которые больше не существуют.
VDS_E_OBJECT_NOT_FOUND
0x80042405L
Один или несколько указанных идентификаторов объектов VDS соответствуют дискам, которые не существуют.
VDS_E_PROVIDER_CACHE_OUTOFSYNC
0x80042712L
Кэш поставщика не синхронизируется с кэшем драйверов.

Комментарии

VDS реализует этот метод.

Этот синхронный метод сначала удаляет тома на указанных дисках, а затем удаляет диски. После удаления дисков соответствующие LUN можно маскировать (скрывать) или удалять.

Этот метод очищает буквы диска, назначенные томам на дисках. Кроме того, он устанавливает тома в автономном режиме, чтобы предотвратить повторное подключение тома после закрытия дескриптора отключения, но до фактического удаления диска.

При удалении динамического тома, охватывающего несколько дисков, необходимо вызывать этот метод вместо использования функций диспетчера устройств.

Инструкции по удалению диска в выпусках Windows Server 2003, где метод UninstallDisks не поддерживается, см. в разделе Примечания метода IVdsLun::SetMask .

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2003 R2 [только классические приложения]
Целевая платформа Windows
Header vds.h
Библиотека Uuid.lib

См. также раздел

IVdsServiceUninstallDisk