Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Cria um arquivo de imagem VHD (disco rígido virtual), usando parâmetros padrão ou usando um disco virtual ou disco físico existente.
Sintaxe
DWORD CreateVirtualDisk(
[in] PVIRTUAL_STORAGE_TYPE VirtualStorageType,
[in] PCWSTR Path,
[in] VIRTUAL_DISK_ACCESS_MASK VirtualDiskAccessMask,
[in, optional] PSECURITY_DESCRIPTOR SecurityDescriptor,
[in] CREATE_VIRTUAL_DISK_FLAG Flags,
[in] ULONG ProviderSpecificFlags,
[in] PCREATE_VIRTUAL_DISK_PARAMETERS Parameters,
[in, optional] LPOVERLAPPED Overlapped,
[out] PHANDLE Handle
);
Parâmetros
[in] VirtualStorageType
Um ponteiro para uma estrutura VIRTUAL_STORAGE_TYPE que contém o tipo de disco desejado e as informações do fornecedor.
[in] Path
Um ponteiro para uma cadeia de caracteres válida que representa o caminho para o novo arquivo de imagem de disco virtual.
[in] VirtualDiskAccessMask
O valor VIRTUAL_DISK_ACCESS_MASK a ser usado ao abrir o arquivo de disco virtual recém-criado. Se o membro Version do parâmetro Parameters estiver definido como CREATE_VIRTUAL_DISK_VERSION_2 , somente o valor de VIRTUAL_DISK_ACCESS_NONE (0) poderá ser especificado.
[in, optional] SecurityDescriptor
Um ponteiro opcional para um SECURITY_DESCRIPTOR a ser aplicado ao arquivo de imagem de disco virtual. Se esse parâmetro for NULL, o descritor de segurança do diretório pai será usado.
[in] Flags
Sinalizadores de criação, que devem ser uma combinação válida da enumeração CREATE_VIRTUAL_DISK_FLAG .
[in] ProviderSpecificFlags
Sinalizadores específicos para o tipo de disco virtual que está sendo criado. Pode ser zero se nenhum for necessário.
[in] Parameters
Um ponteiro para uma estrutura de CREATE_VIRTUAL_DISK_PARAMETERS válida que contém dados de parâmetro de criação.
[in, optional] Overlapped
Um ponteiro opcional para uma estrutura OVERLAPPED válida se a operação assíncrona for desejada.
[out] Handle
Um ponteiro para o objeto handle que representa o disco virtual recém-criado.
Retornar valor
Se a função for bem-sucedida, o valor retornado será ERROR_SUCCESS e o parâmetro Handle conterá um ponteiro válido para o novo objeto de disco virtual.
Se a função falhar, o valor retornado será um código de erro e o valor do parâmetro Handle será indefinido. Para obter mais informações, consulte Códigos de erro do sistema.
Comentários
Se a função CreateVirtualDisk falhar com um valor de código de erro de ERROR_INVALID_PARAMETER, a causa poderá ser devido a qualquer uma das seguintes condições:
- O parâmetro VirtualStorageType é NULL.
- O parâmetro Parameters é NULL.
- O membro Version do parâmetro Parameters não está definido como CREATE_VIRTUAL_DISK_VERSION_1 ou CREATE_VIRTUAL_DISK_VERSION_2.
- O membro Version do parâmetro Parameters é definido como CREATE_VIRTUAL_DISK_VERSION_2 mas o parâmetro VirtualDiskAccessMask não está definido como VIRTUAL_DISK_ACCESS_NONE.
- O membro BlockSizeInBytes do parâmetro Parameters não está definido como CREATE_VIRTUAL_DISK_PARAMETERS_DEFAULT_BLOCK_SIZE (0), 0x80000 (512 KB) ou 0x200000 (2 MB).
- O membro MaximumSize do parâmetro Parameters é menor que 3 MB.
- O membro MaximumSize do parâmetro Parameters não está alinhado com o valor do membro SectorSizeInBytes .
- O parâmetro VirtualDiskAccessMask é definido como um valor de
(VirtualDiskAccessMask & ~VIRTUAL_DISK_ACCESS_ALL). - O parâmetro Flags é maior que CREATE_VIRTUAL_DISK_FLAG_FULL_PHYSICAL_ALLOCATION.
Ao criar os vários tipos de discos virtuais, as seguintes combinações de parâmetros de criação são recomendadas:
- O sinalizador CREATE_VIRTUAL_DISK_FLAG_FULL_PHYSICAL_ALLOCATION deve ser especificado.
- ParentPath não deve ser especificado.
- SourcePath pode ser especificado, se desejado.
- O sinalizador CREATE_VIRTUAL_DISK_FLAG_FULL_PHYSICAL_ALLOCATION não deve ser especificado.
- ParentPath não deve ser especificado.
- SourcePath pode ser especificado, se desejado.
- O sinalizador CREATE_VIRTUAL_DISK_FLAG_FULL_PHYSICAL_ALLOCATION não deve ser especificado.
- ParentPath deve ser especificado.
- SourcePath não deve ser especificado.
Requisitos
| Requisito | Valor |
|---|---|
| Cliente mínimo com suporte | Windows 7 |
| Servidor mínimo com suporte | Windows Server 2008 R2 |
| Plataforma de Destino | Windows |
| Cabeçalho | virtdisk.h |
| Biblioteca | VirtDisk.lib |
| DLL | VirtDisk.dll |