Compartir a través de


FSCTL_GET_VOLUME_BITMAP IOCTL (winioctl.h)

Recupera un mapa de bits de los clústeres ocupados y disponibles en un volumen.

Para realizar esta operación, llame a la función DeviceIoControl con los siguientes parámetros.

BOOL DeviceIoControl(
  (HANDLE) hDevice,             // handle to volume
  FSCTL_GET_VOLUME_BITMAP,      // dwIoControlCode
  (LPVOID) lpInBuffer,          // input buffer
  (DWORD) nInBufferSize,        // size of input buffer
  (LPVOID) lpOutBuffer,         // output buffer
  (DWORD) nOutBufferSize,       // size of output buffer
  (LPDWORD) lpBytesReturned,    // number of bytes returned
  (LPOVERLAPPED) lpOverlapped   // OVERLAPPED structure
);

Comentarios

El código de control FSCTL_GET_VOLUME_BITMAP recupera una estructura de datos que describe el estado de asignación de cada clúster del sistema de archivos del LCN inicial solicitado al último clúster del volumen. El mapa de bits usa un bit para representar cada clúster:

  • El valor 1 indica que se asigna el clúster (en uso).
  • El valor 0 indica que el clúster no está asignado (gratuito).

Tenga en cuenta que el mapa de bits representa un momento dado y puede ser incorrecto en cuanto se haya leído si el volumen tiene actividad de escritura. Por lo tanto, es posible intentar mover un clúster a un clúster asignado a pesar de un mapa de bits reciente que indica que el clúster no está asignado. Los programas que usan la función DeviceIoControl con el código de control FSCTL_MOVE_FILE deben estar preparados para esta posibilidad.

El identificador que se usa aquí debe ser un identificador de volumen y se ha abierto con cualquier acceso. Tenga en cuenta que solo los administradores pueden abrir identificadores de volumen.

El LCN inicial en el búfer de entrada se puede redondear hacia abajo antes de calcular el mapa de bits. El límite de redondeo depende del sistema de archivos.

Para conocer las implicaciones de la E/S superpuesta en esta operación, consulte la sección Comentarios del tema DeviceIoControl .

Esta operación alinea el mapa de bits que devuelve en un límite de página.

Windows Server 2003 y Windows XP: Esta operación alinea el mapa de bits que devuelve en un límite de bytes.

En Windows 8 y Windows Server 2012, este código es compatible con las siguientes tecnologías.

Tecnología Compatible
Protocolo Bloque de mensajes del servidor (SMB) 3.0 No
Conmutación por error transparente (TFO) de SMB 3.0 No
SMB 3.0 con recursos compartidos de archivos de escalabilidad horizontal (SO) No
Sistema de archivos de Volumen compartido de clúster (CsvFS)

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado winioctl.h (incluye Windows.h)

Consulte también