Compartir a través de


Descripción de las enumeraciones de volúmenes con nombres de volumen duplicados

Al enumerar volúmenes, es posible que los nombres de volumen duplicados aparezcan en una lista de información de volumen resultante.

Para ayudar a comprender por qué puede ocurrir esto, considere el siguiente escenario: la rutina de enumeración de volúmenes FltEnumerateVolumeInformation se usa para enumerar todos los volúmenes del sistema. Esto da como resultado un búfer lleno de estructuras de información de volumen: una para cada volumen conocido para el administrador de filtros. En este búfer, cada estructura de información de volumen puede ser de tipo FILTER_VOLUME_BASIC_INFORMATION o FILTER_VOLUME_STANDARD_INFORMATION, pero no ambas.

Dada esta lista de estructuras de información de volumen, es posible que varios elementos de lista contengan el mismo nombre de volumen. Es decir, los miembros FilterVolumeName de dos o más elementos de lista podrían ser idénticos. Esto es posible porque todas las rutinas de enumeración del administrador de filtros, como FltEnumerateVolumes, enumeran volúmenes incluidos los que se han desmontado pero no se han desmontado (debido al hecho de que los archivos abiertos siguen existiendo en el volumen). Por lo tanto, cuando un volumen se desmonta, su nombre puede aparecer más de una vez en una lista de información de volumen, una vez para su estado montado actual y una vez para su estado desmontado anterior, pero no desmontado, en el caso más sencillo.

Si los nombres de volumen duplicados aparecen en una lista de información de volumen, cada grupo de nombres idénticos se explica mediante la descripción anterior. Sin embargo, es posible confirmar el escenario anterior mediante los procedimientos siguientes:

  • Si la lista se rellena con estructuras de tipo FILTER_VOLUME_STANDARD_INFORMATION, identifique un grupo de estructuras cuyos miembros FilterVolumeName sean iguales. Si una o varias de las estructuras de este grupo tienen la marca FLTFL_VSI_DETACHED_VOLUME establecida en su miembro Flags, el volumen asociado al grupo estaba en un estado desmontado pero no desmontado . Esto confirma por qué existen nombres de volumen duplicados. Repita este procedimiento para todos los grupos restantes, si procede.

  • Si la lista se rellena con estructuras de tipo FILTER_VOLUME_BASIC_INFORMATION, convierta esta lista en su forma de estructura de FILTER_VOLUME_STANDARD_INFORMATION equivalente y continúe como en el punto de viñeta anterior.

Nota La estructura FILTER_VOLUME_STANDARD_INFORMATION solo está disponible a partir de Windows Vista.

Las rutinas y estructuras afectadas por este tema incluyen lo siguiente:

FILTER_VOLUME_BASIC_INFORMATION

FILTER_VOLUME_STANDARD_INFORMATION

FilterVolumeFindFirst

FilterVolumeFindNext

FltEnumerateVolumeInformation

FltEnumerateVolumes

FltGetVolumeInformation