Поделиться через


Метод IVdsLun::RemovePlex (vdshwprv.h)

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

Удаляет сплетение из LUN.

Синтаксис

HRESULT RemovePlex(
  [in]  VDS_OBJECT_ID plexId,
  [out] IVdsAsync     **ppAsync
);

Параметры

[in] plexId

GUID удаляемого плекса LUN.

[out] ppAsync

Адрес указателя интерфейса IVdsAsync , который VDS инициализирует при возврате. Вызывающие стороны должны освободить интерфейс. Используйте этот интерфейс для отмены, ожидания или запроса состояния операции.

Если вы вызываете IVdsAsync::Wait для этого метода и возвращается успешное значение HRESULT, необходимо освободить интерфейсы, возвращенные в структуре VDS_ASYNC_OUTPUT , вызвав метод IUnknown::Release для каждого указателя интерфейса. Однако если функция Wait возвращает значение HRESULT сбоя или параметр pHrResultобъекта Wait получает значение HRESULT сбоя, указатели интерфейса в структуре VDS_ASYNC_OUTPUT имеют значение NULL и не должны освобождаться. Вы можете проверить наличие значений HRESULT успешного или неудачного выполнения с помощью макросов SUCCEEDED и FAILED , определенных в Winerror.h.

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

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

Возвращаемый код/значение Описание
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
Это возвращаемое значение сигнализирует о проблеме программного обеспечения или связи внутри поставщика, который кэширует сведения о массиве. Для восстановления кэша используйте метод IVdsHwProvider::Reenumerate , за которым следует метод IVdsHwProvider::Refresh .
VDS_E_OBJECT_DELETED
0x8004240BL
Объект LUN больше отсутствует.
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
LUN находится в состоянии сбоя и не может выполнить запрошенную операцию.
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
Выполняется другая операция; Эта операция не может продолжаться до завершения предыдущей операции или операций.
VDS_E_OBJECT_NOT_FOUND
0x80042405L
Может быть возвращен из любого метода, который принимает константу VDS_OBJECT_ID . Это возвращаемое значение указывает, что идентификатор не ссылается на существующий объект.

Комментарии

Удаленный сплетений перестает существовать, а VDS освобождает экстенты. Вызывающий объект не может удалить автономный сплетение LUN. Обратите внимание, что lun может потерять отказоустойчивость из-за этой операции. Например, если операция преобразует LUN из зеркального в простой, LUN больше не будет отказоустойчивым.

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

Если вызывающий объект вызывает метод RemovePlex с параметром plexId, для параметра plexId задано недопустимое значение, необходимо вернуть VDS_E_OBJECT_NOT_FOUND.

Требования

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

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

IVdsAsync

IVdsAsync::Wait

IVdsHwProvider::Reenumerate

IVdsHwProvider::Refresh

IVdsLun

VDS_ASYNC_OUTPUT