Método IVdsCreatePartitionEx::CreatePartitionEx (vds.h)
[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.]
Cria uma partição em um disco básico.
Esse método substitui o método IVdsAdvancedDisk::CreatePartition .
Sintaxe
HRESULT CreatePartitionEx(
[in] ULONGLONG ullOffset,
[in] ULONGLONG ullSize,
[in] ULONG ulAlign,
[in] CREATE_PARTITION_PARAMETERS *para,
[out] IVdsAsync **ppAsync
);
Parâmetros
[in] ullOffset
O deslocamento de partição, em bytes. Se o deslocamento não estiver alinhado e o parâmetro ulAlign não for especificado, o deslocamento será arredondado para cima ou para baixo até o limite de alinhamento mais próximo, dependendo do tamanho do disco no qual a partição é criada. Para obter mais informações, consulte a seção Comentários a seguir.
Windows Server 2003: Somente a primeira partição em um disco básico pode ser alinhada; discos dinâmicos não podem ser alinhados. Para outras partições em um disco básico, não é possível especificar o alinhamento usando o parâmetro ulAlign ; o deslocamento é arredondado para o limite de cilindro mais próximo para discos MBR (Registro Mestre de Inicialização) ou o limite de setor mais próximo para discos DE TABELA de Partição GUID (GPT).
Quando o chamador especifica os parâmetros ullOffset e ulAlign , o deslocamento deve estar dentro do primeiro cilindro.
[in] ullSize
O tamanho, em bytes, da nova partição.
[in] ulAlign
O tamanho do alinhamento, em bytes.
Windows Server 2003: Se esse parâmetro for especificado, o provedor arredondará o deslocamento da partição para o limite de alinhamento mais próximo; caso contrário, para o limite de cilindro mais próximo.
Se o início de um disco tiver espaço suficiente para acomodar o tamanho da partição e o parâmetro ulAlign for especificado, mas o parâmetro ullOffset não for, a chamada para CreatePartitionEx falhará.
[in] para
O ponteiro para parâmetros definidos pela estrutura CREATE_PARTITION_PARAMETERS .
[out] ppAsync
O endereço de um ponteiro de interface IVdsAsync , que o VDS inicializa no retorno. Os chamadores devem liberar a interface . Use esse ponteiro para cancelar, aguardar ou consultar o status da operação.
Retornar valor
Esse método pode retornar valores HRESULT padrão, como E_INVALIDARG ou E_OUTOFMEMORY e valores retornados específicos do VDS. Ele também pode retornar códigos de erro do sistema convertidos usando a macro HRESULT_FROM_WIN32 . Os erros podem ser originados do próprio VDS ou do provedor de VDS subjacente que está sendo usado. Os possíveis valores retornados incluem o seguinte.
Valor/código retornado | Descrição |
---|---|
|
A partição foi criada com êxito. |
|
Não há mídia em uma unidade removível. |
|
Não foi possível criar a partição, pois o disco é somente leitura. |
|
A mídia não dá suporte a essa operação. Por exemplo, o chamador não pode criar uma partição em um CD-ROM. |
|
Não há suporte para a criação de uma segunda partição em mídia removível. Como alternativa, esse erro indica que o disco é um disco dinâmico. |
|
O número máximo de partições (partições primárias ou partições primárias com uma partição estendida) já existe quando o chamador tenta criar uma partição primária adicional ou uma partição estendida. |
|
A partição foi criada com êxito, mas o VDS não conseguiu atualizar as opções de inicialização no repositório BCD (Dados de Configuração de Inicialização).
Windows Server 2003: As opções de inicialização são armazenadas no arquivo boot.ini em um sistema x86 ou x64 ou NVRAM em um sistema Itanium. |
Comentários
Esse método opera em discos básicos com um esquema de partição GPT ou MBR.
Windows Server 2003: Os chamadores podem alinhar apenas a primeira partição de um disco MBR e devem colocar o deslocamento inicial no primeiro cilindro ou no início do segundo cilindro, no limite do cilindro.
Se o parâmetro ullOffset for especificado e seu valor ainda não estiver alinhado usando os valores na subchave do Registro deAlinhamento deVds\ doSystem\CurrentControlSet\Services\HKEY_LOCAL_MACHINE\, seu valor será alinhado automaticamente usando os seguintes valores: O alinhamento padrão será de 1 MB se o disco for 4 GB ou maior ou 64 KB se o disco for menor que 4 GB.
Windows Server 2003: Os deslocamentos de partição não alinhados são arredondados para o limite de cilindro mais próximo para discos MBR ou para o limite de setor mais próximo para discos GPT.
Se um disco dinâmico for somente leitura e offline, ele deverá ser feito de leitura/gravação e colocado online da seguinte maneira antes de chamar CreatePartitionEx:
- Limpe o bit somente leitura. (Esse é o sinalizador VDS_DF_READ_ONLY na estrutura VDS_DISK_PROP .)
- Chame o método IVdsDiskOnline::Online .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 R2 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | vds.h |
Biblioteca | Uuid.lib |