Метод IVdsLun::D elete (vds.h)

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

Удаляет LUN и все его сплетения. Все данные в LUN теряются. VDS освобождает экстенты, выделенные для LUN.

Синтаксис

HRESULT Delete();

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

Этот метод может возвращать стандартные значения HRESULT, такие как 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
Выполняется другая операция; Эта операция не может продолжаться до завершения предыдущей операции или операций.

Комментарии

Если приложение содержит ссылку на интерфейс IVdsLun и вызывает IVdsLun::D elete, средства реализации должны возвращать VDS_E_OBJECT_DELETED при последующих вызовах методов, таких как GetProperties в этом интерфейсе . В этом случае интерфейс имеет неоплаченную ссылку и является допустимым, но базовый объект больше не существует.

При удалении lun, отмаскированного на целевом компьютере, видимость LUN на этом компьютере может не измениться до тех пор, пока не будет выполнено повторное сканирование шины. Приложение VDS на целевом компьютере инициирует повторное сканирование шины, вызывая IVdsService::Reenumerate. За инициализацию повторного сканирования шины отвечает приложение VDS, а не поставщик оборудования.

Если метод, такой как IVdsLun::D elete , вызывается в одном потоке, а IVdsSubSystem::QueryLuns вызывается в другом потоке, который выполняется одновременно, это может привести к нарушению доступа поставщика. Поставщик оборудования отвечает за сериализацию этих методов по мере необходимости, чтобы свести к минимуму такие проблемы синхронизации.

Поставщик оборудования отвечает за удаление сведений о секции LUN, чтобы можно было повторно использовать LUN. Если LUN является диском MBR, это достигается путем записи нулей в первый и последний 1 МБ диска. Для диска GPT нули должны быть записаны на первый и последние 16 КБ диска.

Требования

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

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

IVdsHwProvider::Reenumerate

IVdsHwProvider::Refresh

IVdsLun

IVdsLun::GetProperties