Método IVdsVolume::SetFlags (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.]
Establece las marcas de volumen.
Sintaxis
HRESULT SetFlags(
[in] ULONG ulFlags,
[in] BOOL bRevertOnClose
);
Parámetros
[in] ulFlags
Marcas enumeradas por VDS_VOLUME_FLAG. Los autores de llamadas pueden establecer las marcas siguientes:
VDS_VF_LBN_REMAP_ENABLED
VDS_VF_HIDDEN
VDS_VF_READONLY
VDS_VF_NO_DEFAULT_DRIVE_LETTER
VDS_VF_INSTALLABLE
VDS_VF_SHADOW_COPY
[in] bRevertOnClose
Si es TRUE, las marcas se establecen temporalmente. VDS restablece cada marca en el estado anterior cuando el autor de la llamada libera la última referencia al objeto volume, llama a IVdsVolume::ClearFlags o desmonta el volumen, excepto cuando la marca está establecida en todo el disco (vea la tabla de la sección Comentarios para obtener más información). Cuando se establece la marca en todo el disco, se debe llamar al método IVdsVolume::ClearFlags para restablecer las marcas.
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 |
---|---|
|
Se establecen las marcas. |
|
El proveedor no admite la marca de volumen VDS_VF_LBN REMAP_ENABLED . |
|
El proveedor no admite la marca de volumen DRIVELETTER de VDS_VF_NO . |
|
bRevertOnClose solo debe establecerse en true si se establece la marca de volumen VDS_VF_HIDDEN o VDS_VF_READONLY . |
|
Algunas marcas de volumen ya están establecidas en true. Primero debe borrar estas marcas y, a continuación, llamar a este método y establecer el parámetro bRevertOnClose en true de nuevo. El valor devuelto VDS_E_INVALID_OPERATION también puede indicar esta condición. |
Comentarios
Los VDS_VF_READONLY, VDS_VF_HIDDEN y VDS_VF_NO_DEFAULT_DRIVE_LETTER marcan el ámbito de forma diferente según el tipo de disco (básico o dinámico) y el estilo de partición (MBR o GPT). El ámbito está basado en disco o en volumen, tal y como se describe en las siguientes condiciones:
- Si el disco es básico y MBR, establecer una de estas marcas en un volumen afecta al volumen actual y a todos los volúmenes futuros con el atributo especificado creado en el disco.
- Si el disco es básico y GPT, dinámico y MBR, o GPT dinámico y GPT, el establecimiento de una de las marcas en un volumen se aplica solo a ese volumen específico.
Marca | Discos básicos de MBR | Discos básicos de GPT | Discos dinámicos MBR o GPT |
---|---|---|---|
VDS_VF_LBN_REMAP_ENABLED | No se puede establecer. | No se puede establecer. | Establezca en el volumen, si es compatible con el administrador de volúmenes de terceros. |
VDS_VF_HIDDEN | Establezca en todo el disco. | Establezca en volúmenes (solo particiones de datos). | Establézcalo en volúmenes. |
VDS_VF_READONLY | Establezca en todo el disco. | Establezca en volúmenes (solo particiones de datos). | Establézcalo en volúmenes. |
VDS_VF_NO_DEFAULT_DRIVE_LETTER | Establezca en todo el disco. | Establézcalo en particiones. | Consulte VDS_VOLUME_FLAG. |
VDS_VF_SHADOW_COPY | Establezca en todo el disco. | Establezca en volúmenes (solo particiones de datos). | Establézcalo en volúmenes. |
VDS_VF_INSTALLABLE | No se puede establecer. | No se puede establecer. | Establézcalo en volúmenes. |
Si bRevertOnClose es TRUE y el disco es un disco básico de MBR y, a continuación, se elimina el volumen, las marcas siguen estando establecidas en todo el disco y las marcas se aplicarán a los nuevos volúmenes creados en el disco. A continuación, se deben usar IVdsAdvancedDisk::Clean para borrar las marcas.
Para crear un volumen de arranque en un disco dinámico, debe establecer la marca de VDS_VF_INSTALLABLE para el volumen y, a continuación, dar formato al volumen llamando al método IVdsVolumeMF::Format .
Este método produce un error si el volumen contiene una o varias de las marcas siguientes:
- VDS_VF_SYSTEM
- VDS_VF_BOOT
- VDS_VF_PAGEFILE
- VDS_VF_HIBERNATION
- VDS_VF_CRASHDUMP
Si se especifica VDS_VF_HIDDEN o VDS_VF_READONLY se forzará un desmontaje y remontaje del volumen, a menos que bRevertOnClose sea TRUE.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | vds.h |
Library | Uuid.lib |