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


Добавление буквы диска в LUN

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

Вы можете назначать буквы диска объектам тома напрямую; Однако если диск является объектом LUN, необходимо выполнить несколько дополнительных действий.

Назначение буквы диска объекту LUN

  1. При необходимости снимите маску LUN на локальный узел.

    Примечание

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

     

  2. Вызовите метод IVdsService::Reenumerate на компьютере, на котором работает поставщик оборудования.

  3. Инициализируйте LUN в качестве базового диска следующим образом:

    1. Вызовите метод IUnknown::QueryInterface для объекта LUN, чтобы запросить интерфейс IVdsDisk .
    2. Вызовите метод IVdsSwProvider::CreatePack , чтобы создать базовый пакет.
    3. Вызовите метод IVdsPack::AddDisk , чтобы добавить диск в новый пакет.
  4. Создайте раздел на диске и получите объект тома следующим образом:

    1. Вызовите метод IVdsCreatePartitionEx::CreatePartitionEx , чтобы создать секцию.
    2. Вызовите метод IVdsAsync::Wait для асинхронного объекта, возвращаемого CreatePartitionEx , чтобы получить идентификатор тома из структуры VDS_ASYNC_OUTPUT .
    3. Передайте идентификатор тома в качестве параметра в метод IVdsService::GetObject , чтобы получить указатель на объект тома.
  5. Вызовите метод IVdsVolumeMF::AddAccessPath , чтобы назначить букву диска.

Примечание

Метод IVdsAdvancedDisk::AssignDriveLetter назначает буквы дисков секциям без связанных томов, таким как разделы OEM или ESP. Его нельзя использовать для назначения буквы диска объекту LUN.

 

Использование VDS

IVdsService::Reenumerate

IVdsDisk

IVdsSwProvider::CreatePack

IVdsPack::AddDisk

IVdsCreatePartitionEx::CreatePartitionEx

IVdsAsync::Wait

VDS_ASYNC_OUTPUT

IVdsVolumeMF::AddAccessPath

IVdsAdvancedDisk::AssignDriveLetter