Agregar una letra de unidad a un LUN

[A partir de Windows 8 y Windows Server 2012, la interfaz COM del servicio de disco virtual se sustituye por la API de administración de almacenamiento de Windows.]

Puede asignar letras de unidad a objetos de volumen directamente; Sin embargo, si el disco es un objeto LUN, tiene algunos pasos adicionales.

Para asignar una letra de unidad a un objeto LUN

  1. Si es necesario, desenmascare el LUN en el host local.

    Nota:

    No se pueden realizar operaciones administrativas de software en un objeto LUN sin máscara en otro equipo dentro de la sesión de VDS actual.

     

  2. Invoque el método IVdsService::Reenumerate en el equipo que ejecuta el proveedor de hardware.

  3. Inicialice el LUN como un disco básico de la siguiente manera:

    1. Invoque el método IUnknown::QueryInterface en el objeto LUN para consultar la interfaz IVdsDisk .
    2. Invoque el método IVdsSwProvider::CreatePack para crear un paquete básico.
    3. Invoque el método IVdsPack::AddDisk para agregar el disco al nuevo paquete.
  4. Cree una partición en el disco y obtenga el objeto de volumen de la siguiente manera:

    1. Invoque el método IVdsCreatePartitionEx::CreatePartitionEx para crear una partición.
    2. Invoque el método IVdsAsync::Wait en el objeto asincrónico devuelto por CreatePartitionEx para obtener el identificador de volumen de la estructura VDS_ASYNC_OUTPUT .
    3. Pase el identificador de volumen como parámetro al método IVdsService::GetObject para obtener un puntero de objeto de volumen.
  5. Invoque el método IVdsVolumeMF::AddAccessPath para asignar la letra de unidad.

Nota:

El método IVdsAdvancedDisk::AssignDriveLetter asigna letras de unidad a particiones sin volúmenes asociados, como particiones OEM o ESP. No se puede usar para asignar una letra de unidad a un objeto LUN.

 

Uso de VDS

IVdsService::Reenumerate

IVdsDisk

IVdsSwProvider::CreatePack

IVdsPack::AddDisk

IVdsCreatePartitionEx::CreatePartitionEx

IVdsAsync::Wait

VDS_ASYNC_OUTPUT

IVdsVolumeMF::AddAccessPath

IVdsAdvancedDisk::AssignDriveLetter