Método IVdsVdProvider::CreateVDisk (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 um disco virtual.
Sintaxe
HRESULT CreateVDisk(
[in] PVIRTUAL_STORAGE_TYPE VirtualDeviceType,
[in] LPWSTR pPath,
[in] LPWSTR pStringSecurityDescriptor,
[in] CREATE_VIRTUAL_DISK_FLAG Flags,
[in] ULONG ProviderSpecificFlags,
[in] ULONG Reserved,
[in] PVDS_CREATE_VDISK_PARAMETERS pCreateDiskParameters,
[out] IVdsAsync **ppAsync
);
Parâmetros
[in] VirtualDeviceType
Um ponteiro para uma estrutura VIRTUAL_STORAGE_TYPE que especifica o tipo de disco virtual a ser criado.
[in] pPath
Uma cadeia de caracteres largos terminada em NULL que contém o nome e o caminho do diretório para o arquivo de backup a ser criado para o disco virtual.
[in] pStringSecurityDescriptor
Uma cadeia de caracteres largos terminada em NULL que contém o descritor de segurança a ser aplicado ao disco virtual. Se esse parâmetro for NULL, o descritor de segurança no token de acesso do chamador será usado.
[in] Flags
Uma máscara de bits de CREATE_VIRTUAL_DISK_FLAG valores de enumeração especificando como o disco virtual deve ser criado.
[in] ProviderSpecificFlags
Uma máscara de bits de sinalizadores que são específicas para o tipo de disco virtual que está sendo criado. Esses sinalizadores são específicos do provedor. Para o provedor de disco virtual da Microsoft, esse parâmetro deve ser zero.
[in] Reserved
O parâmetro é reservado e deve ser zero.
[in] pCreateDiskParameters
Um ponteiro para uma estrutura VDS_CREATE_VDISK_PARAMETERS que contém os parâmetros de criação de disco virtual.
[out] ppAsync
Um ponteiro para uma interface IVdsAsync que, após a conclusão bem-sucedida, recebe a interface IVdsAsync para monitorar e controlar essa operação. Os chamadores devem liberar a interface recebida quando terminarem de usá-la. Se o método IVdsAsync::Wait for chamado na interface e um valor HRESULT bem-sucedido for retornado, as interfaces retornadas na estrutura VDS_ASYNC_OUTPUT deverão ser liberadas chamando o método IUnknown::Release em cada ponteiro de interface. No entanto, se Wait retornar um valor HRESULT de falha ou se o parâmetro pHrResult de Wait receber um valor HRESULT de falha, os ponteiros de interface na estrutura VDS_ASYNC_OUTPUT serão NULL e não precisarão ser liberados. Você pode testar valores HRESULT com êxito ou falha usando as macros SUCCEEDED e FAILED definidas em Winerror.h.
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 se originar do próprio VDS ou do provedor de VDS subjacente que está sendo usado. Os possíveis valores retornados incluem o seguinte.
Código de retorno | Descrição |
---|---|
|
O método foi concluído com sucesso. |
Comentários
Os aplicativos devem inicializar a segurança em todo o processo chamando a função CoInitializeSecurity . O parâmetro dwImpLevel deve ser definido como RPC_C_IMP_LEVEL_IMPERSONATE.
Windows Server 2008, Windows Vista e Windows Server 2003: Essas ações não são necessárias até o Windows 7 e o Windows Server 2008 R2.
Se o disco virtual com o nome de arquivo especificado não existir, ele será criado. Se o disco virtual já existir, o provedor de disco virtual retornará um ponteiro de interface para o objeto de disco virtual existente sem recriar o arquivo.
Requisitos
Cliente mínimo com suporte | Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | vds.h |
Biblioteca | Uuid.lib |