Método IVdsCreatePartitionEx::CreatePartitionEx (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 una partición en un disco básico.
Este método reemplaza al método IVdsAdvancedDisk::CreatePartition .
Sintaxis
HRESULT CreatePartitionEx(
[in] ULONGLONG ullOffset,
[in] ULONGLONG ullSize,
[in] ULONG ulAlign,
[in] CREATE_PARTITION_PARAMETERS *para,
[out] IVdsAsync **ppAsync
);
Parámetros
[in] ullOffset
Desplazamiento de partición, en bytes. Si el desplazamiento no está alineado y no se especifica el parámetro ulAlign , el desplazamiento se redondea hacia arriba o hacia abajo hasta el límite de alineación más cercano en función del tamaño del disco en el que se crea la partición. Para obtener más información, vea la sección Comentarios que se muestra más adelante.
Windows Server 2003: Solo se puede alinear la primera partición en un disco básico; los discos dinámicos no se pueden alinear. Para otras particiones en un disco básico, no se puede especificar la alineación mediante el parámetro ulAlign ; el desplazamiento se redondea al límite de cilindro más cercano para los discos de registro de arranque maestro (MBR) o el límite de sector más cercano para los discos de tabla de particiones GUID (GPT).
Cuando el autor de la llamada especifica los parámetros ullOffset y ulAlign , el desplazamiento debe estar dentro del primer cilindro.
[in] ullSize
Tamaño, en bytes, de la nueva partición.
[in] ulAlign
Tamaño de alineación, en bytes.
Windows Server 2003: Si se especifica este parámetro, el proveedor redondea el desplazamiento de partición al límite de alineación más cercano; de lo contrario, al límite del cilindro más cercano.
Si el principio de un disco tiene suficiente espacio para acomodar el tamaño de la partición y se especifica el parámetro ulAlign , pero el parámetro ullOffset no es así, se produce un error en la llamada a CreatePartitionEx .
[in] para
Puntero a parámetros definidos por la estructura CREATE_PARTITION_PARAMETERS .
[out] ppAsync
Dirección de un puntero de interfaz IVdsAsync , que VDS inicializa al devolver. Los autores de llamadas deben liberar la interfaz . Use este puntero para cancelar, esperar o consultar el estado de la operación.
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 pueden originarse en VDS en sí o en el proveedor de VDS subyacente que se está usando. Entre los valores devueltos posibles se incluyen los siguientes.
Código o valor devuelto | Descripción |
---|---|
|
La partición se creó correctamente. |
|
No hay ningún medio en una unidad extraíble. |
|
No se pudo crear la partición porque el disco es de solo lectura. |
|
El medio no admite esta operación. Por ejemplo, el autor de la llamada no puede crear una partición en un CD-ROM. |
|
No se admite la creación de una segunda partición en medios extraíbles. Como alternativa, este error indica que el disco es un disco dinámico. |
|
El número máximo de particiones (particiones principales o particiones principales con una partición extendida) ya existe cuando el autor de la llamada intenta crear una partición principal adicional o una partición extendida. |
|
La partición se creó correctamente, pero VDS no pudo actualizar las opciones de arranque en el almacén de datos de configuración de arranque (BCD).
Windows Server 2003: Las opciones de arranque se almacenan en el archivo boot.ini en un sistema x86 o x64 o NVRAM en un sistema Itanium. |
Comentarios
Este método funciona en discos básicos que tienen un esquema de partición GPT o MBR.
Windows Server 2003: Los llamadores solo pueden alinear la primera partición de un disco MBR y deben colocar el desplazamiento inicial en el primer cilindro o el principio del segundo cilindro, en el límite del cilindro.
Si se especifica el parámetro ullOffset y su valor aún no está alineado con los valores de la subclave HKEY_LOCAL_MACHINE delRegistroVds\alignment deSystem\\CurrentControlSet\Services\, su valor se alineará automáticamente con los siguientes valores: La alineación predeterminada es de 1 MB si el disco es de 4 GB o más, o 64 KB si el disco es inferior a 4 GB.
Windows Server 2003: Los desplazamientos de partición no asignados se redondean al límite de cilindro más cercano para los discos MBR o al límite de sector más cercano para los discos GPT.
Si un disco dinámico es de solo lectura y está sin conexión, se debe realizar lectura y escritura y ponerse en línea como se indica a continuación antes de llamar a CreatePartitionEx:
- Borre el bit de solo lectura. (Esta es la marca VDS_DF_READ_ONLY en la estructura VDS_DISK_PROP ).
- Llame al método IVdsDiskOnline::Online .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 R2 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | vds.h |
Library | Uuid.lib |