Compartilhar via


Adicionando uma letra da unidade a um LUN

[Começando com Windows 8 e Windows Server 2012, a interface COM do Serviço de Disco Virtual é substituída pela API de Gerenciamento de Armazenamento do Windows.]

Você pode atribuir letras de unidade diretamente a objetos de volume; no entanto, se o disco for um objeto LUN, você terá algumas etapas adicionais.

Para atribuir uma letra de unidade a um objeto LUN

  1. Se necessário, desmascare o LUN para o host local.

    Observação

    Não é possível executar operações administrativas de software em um objeto LUN que seja desmascarado para outro computador dentro da sessão atual do VDS.

     

  2. Invoque o método IVdsService::Reenumerate no computador que está executando o provedor de hardware.

  3. Inicialize o LUN como um disco básico da seguinte maneira:

    1. Invoque o método IUnknown::QueryInterface no objeto LUN para consultar a interface IVdsDisk .
    2. Invoque o método IVdsSwProvider::CreatePack para criar um pacote básico.
    3. Invoque o método IVdsPack::AddDisk para adicionar o disco ao novo pacote.
  4. Crie uma partição no disco e obtenha o objeto de volume da seguinte maneira:

    1. Invoque o método IVdsCreatePartitionEx::CreatePartitionEx para criar uma partição.
    2. Invoque o método IVdsAsync::Wait no objeto assíncrono retornado por CreatePartitionEx para obter o identificador de volume da estrutura VDS_ASYNC_OUTPUT .
    3. Passe o identificador de volume como um parâmetro para o método IVdsService::GetObject para obter um ponteiro de objeto de volume.
  5. Invoque o método IVdsVolumeMF::AddAccessPath para atribuir a letra da unidade.

Observação

O método IVdsAdvancedDisk::AssignDriveLetter atribui letras de unidade a partições sem volumes associados, como partições OEM ou ESP. Você não pode usá-la para atribuir uma letra de unidade a um objeto LUN.

 

Usando VDS

IVdsService::Reenumerate

IVdsDisk

IVdsSwProvider::CreatePack

IVdsPack::AddDisk

IVdsCreatePartitionEx::CreatePartitionEx

IVdsAsync::Wait

VDS_ASYNC_OUTPUT

IVdsVolumeMF::AddAccessPath

IVdsAdvancedDisk::AssignDriveLetter