FSCTL_ALLOW_EXTENDED_DASD_IO IOCTL (winioctl.h)
Indica al controlador del sistema de archivos que no realice ninguna comprobación de límites de E/S en las llamadas de lectura o escritura de particiones. En su lugar, el controlador del dispositivo realiza comprobaciones de límites.
Para realizar esta operación, llame a la función DeviceIoControl con los parámetros siguientes.
C++ |
---|
BOOL DeviceIoControl( (HANDLE) hDevice, // handle to device FSCTL_ALLOW_EXTENDED_DASD_IO, // dwIoControlCodeNULL, // lpInBuffer0, // nInBufferSizeNULL, // lpOutBuffer0, // nOutBufferSize(LPDWORD) lpBytesReturned, // number of bytes returned (LPOVERLAPPED) lpOverlapped // OVERLAPPED structure ); |
Observaciones
Las llamadas que usan el código de control de FSCTL_ALLOW_EXTENDED_DASD_IO solo deben usarse con mucha precaución por parte de los programadores familiarizados con la estructura subyacente de una unidad de disco duro y un sistema de archivos. El uso incorrecto o la comprobación inexacta en las operaciones de escritura posteriores en la partición puede provocar daños en los datos de la partición o la destrucción de toda la partición.
El código de control FSCTL_ALLOW_EXTENDED_DASD_IO se usa para indicar al controlador del sistema de archivos que no realice ninguna comprobación de límites de E/S en llamadas de lectura o escritura realizadas con el identificador especificado. FSCTL_ALLOW_EXTENDED_DASD_IO permite el acceso a sectores ocultos, una parte de la partición que puede existir entre el primer sector de la partición (el bloque de parámetros de arranque) y el primer sector útil de la partición. FSCTL_ALLOW_EXTENDED_DASD_IO también permite el acceso a clústeres perdidos, que pueden existir entre el último clúster útil y el final de la partición.
Las solicitudes de E/S emitidas después de esta operación se pasan directamente al controlador del dispositivo. Si estas llamadas posteriores solicitan datos más allá del límite de partición, el controlador hace que se produzca un error.
Para conocer las implicaciones de la E/S superpuesta en esta operación, vea la sección Comentarios de DeviceIoControl.
Para recuperar un identificador de una partición, llame a CreateFile con el parámetro lpFileName establecido en una cadena del siguiente formulario:
\\.\X:
donde X es la letra de unidad.
La aplicación que llama a CreateFile también debe especificar las marcas FILE_SHARE_READ y FILE_SHARE_WRITE en el parámetro dwShareMode de CreateFile. Para obtener más información, vea la sección Dispositivos de disco en CreateFile.
Para determinar la estructura de partición de la unidad y determinar si el sistema reconoce la partición, use el código de control IOCTL_DISK_GET_DRIVE_LAYOUT_EX o IOCTL_DISK_GET_DRIVE_LAYOUT, según corresponda. Para obtener información similar sobre una sola partición, use el código de control IOCTL_DISK_GET_PARTITION_INFO_EX o IOCTL_DISK_GET_PARTITION_INFO, según corresponda. Para determinar el tamaño de un clúster, use el
En Windows Server 2012, esta función es compatible con las siguientes tecnologías.
Tecnología | Soportado |
---|---|
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) | Sí |
Sistema de archivos resistente (ReFS) | Sí |
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows XP [solo aplicaciones de escritorio] |
servidor mínimo admitido | Windows Server 2003 [solo aplicaciones de escritorio] |
encabezado de |
winioctl.h (incluya Windows.h) |
Consulte también
códigos de control de administración de archivos
IOCTL_DISK_GET_DRIVE_LAYOUT_EX