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


Метод IVdsVolume::BreakPlex (vds.h)

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

Удаляет указанный plex из текущего тома. Указатель интерфейса для нового объекта тома можно получить, вызвав IVdsAsync::Wait с помощью параметра ppAsync . Возвращаемая структура VDS_ASYNC_OUTPUT содержит указатель на интерфейс объекта тома в члене bvp.pVolumeUnk .

Синтаксис

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

Параметры

[in] plexId

GUID прерванного плекса.

[out] ppAsync

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

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

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

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

Возвращаемый код или значение Описание
S_OK
Сплетение было сломано успешно.
VDS_E_VOLUME_NOT_ONLINE
0x8004243DL
Том недоступен.
VDS_E_VOLUME_NOT_A_MIRROR
0x80042445L
Том не является зеркало.

Комментарии

Эта операция недопустима для базовых томов, которые имеют ровно один плекс.

Используйте этот метод для прерывания зеркало. Сломанное сплетение становится новым томом. Если оставшееся сплетение устарело или отсутствует, VDS останавливает операцию и возвращает ошибку. Обратите внимание, что VDS отключает том во время операции.

Загрузочный или системный плекс (по сути, с помощью плекса, используемого для загрузки компьютера), недействителен для plexId. При передаче такого плекса VDS останавливает операцию и возвращает ошибку.

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

Требования

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

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

IVdsAsync

IVdsAsync::Wait

IVdsVolume

VDS_ASYNC_OUTPUT