Método IVdsVdProvider::CreateVDisk (vds.h)
[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.]
Crea un disco virtual.
Sintaxis
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
Puntero a una estructura de VIRTUAL_STORAGE_TYPE que especifica el tipo de disco virtual que se va a crear.
[in] pPath
Cadena de caracteres anchos terminada en NULL que contiene el nombre y la ruta de acceso del directorio para el archivo de respaldo que se va a crear para el disco virtual.
[in] pStringSecurityDescriptor
Cadena de caracteres anchos terminada en NULL que contiene el descriptor de seguridad que se va a aplicar al disco virtual. Si este parámetro es NULL, se usará el descriptor de seguridad en el token de acceso del autor de la llamada.
[in] Flags
Máscara de bits de CREATE_VIRTUAL_DISK_FLAG valores de enumeración que especifican cómo se va a crear el disco virtual.
[in] ProviderSpecificFlags
Máscara de bits de marcas que son específicas del tipo de disco virtual que se está creando. Estas marcas son específicas del proveedor. Para el proveedor de discos virtuales de Microsoft, este parámetro debe ser cero.
[in] Reserved
El parámetro está reservado y debe ser cero.
[in] pCreateDiskParameters
Puntero a una estructura de VDS_CREATE_VDISK_PARAMETERS que contiene los parámetros de creación del disco virtual.
[out] ppAsync
Puntero a una interfaz IVdsAsync que, tras la finalización correcta, recibe la interfaz IVdsAsync para supervisar y controlar esta operación. Los autores de llamadas deben liberar la interfaz recibida cuando terminen con ella. Si se llama al método IVdsAsync::Wait en la interfaz y se devuelve un valor HRESULT correcto, las interfaces devueltas en la estructura de VDS_ASYNC_OUTPUT deben liberarse llamando al método IUnknown::Release en cada puntero de interfaz. Sin embargo, si Wait devuelve un valor HRESULT de error o si el parámetro pHrResult de Wait recibe un valor HRESULT de error, los punteros de interfaz de la estructura VDS_ASYNC_OUTPUT son NULL y no es necesario liberar. Puede probar los valores HRESULT correctos o erróneos mediante las macros SUCCEEDED y FAILED definidas en Winerror.h.
Valor devuelto
Este método puede devolver valores HRESULT estándar, como E_INVALIDARG o E_OUTOFMEMORY, y valores devueltos específicos de VDS. También puede devolver códigos de error del sistema convertidos mediante la macro HRESULT_FROM_WIN32 . Los errores se pueden originar en VDS en sí o en el proveedor de VDS subyacente que se está usando. Entre los posibles valores devueltos se incluyen los siguientes.
Código devuelto | Descripción |
---|---|
|
El método se completó correctamente. |
Comentarios
Las aplicaciones deben inicializar la seguridad de todo el proceso mediante una llamada a la función CoInitializeSecurity . El parámetro dwImpLevel debe establecerse en RPC_C_IMP_LEVEL_IMPERSONATE.
Windows Server 2008, Windows Vista y Windows Server 2003: Estas acciones no son necesarias hasta Windows 7 y Windows Server 2008 R2.
Si el disco virtual con el nombre de archivo especificado no existe, se crea. Si el disco virtual ya existe, el proveedor de discos virtuales devuelve un puntero de interfaz al objeto de disco virtual existente sin volver a crear el archivo.
Requisitos
Cliente mínimo compatible | Windows 7 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 R2 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | vds.h |
Library | Uuid.lib |