Метод IVdsLun::D elete (vdshwprv.h)
[Начиная с Windows 8 и Windows Server 2012 COM-интерфейс службы виртуальных дисков заменен API управления хранилищем Windows.]
Удаляет LUN и все его сплетения. Все данные в LUN теряются. VDS освобождает экстенты, выделенные для LUN.
Синтаксис
HRESULT Delete();
Возвращаемое значение
Этот метод может возвращать стандартные значения HRESULT, такие как E_OUTOFMEMORY и возвращаемые значения VDS. Он также может возвращать преобразованные коды системных ошибок с помощью макроса HRESULT_FROM_WIN32 . Ошибки могут возникать из самого VDS или от используемого базового поставщика VDS . Возможные возвращаемые значения включают следующие.
Возвращаемый код или значение | Описание |
---|---|
|
Это возвращаемое значение сигнализирует о проблеме программного обеспечения или связи внутри поставщика, который кэширует сведения о массиве. Для восстановления кэша используйте метод IVdsHwProvider::Reenumerate , за которым следует метод IVdsHwProvider::Refresh . |
|
Объект LUN больше не присутствует. |
|
LUN находится в состоянии сбоя и не может выполнить запрошенную операцию. |
|
Выполняется другая операция; Эта операция не может продолжаться до завершения предыдущей операции или операций. |
Комментарии
Если приложение содержит ссылку на интерфейс 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 | vdshwprv.h |
Библиотека | Uuid.lib |