FSCTL_ALLOW_EXTENDED_DASD_IO IOCTL (winioctl.h)
Sinaliza que o driver do sistema de arquivos não executará verificações de limite de E/S em chamadas de leitura ou gravação de partição. Em vez disso, as verificações de limite são executadas pelo driver de dispositivo.
Para executar essa operação, chame a função DeviceIoControl com os parâmetros a seguir.
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 ); |
Comentários
Uma chamada usando o código de controle FSCTL_ALLOW_EXTENDED_DASD_IO só deve ser usada com muito cuidado por programadores familiarizados com a estrutura subjacente de uma unidade de disco rígido e sistema de arquivos. O uso inadequado ou a verificação imprecisa em operações de gravação subsequentes na partição podem resultar em danos aos dados na partição ou destruição de toda a partição.
O código de controle FSCTL_ALLOW_EXTENDED_DASD_IO é usado para sinalizar que o driver do sistema de arquivos não execute nenhuma verificação de limite de E/S em chamadas de leitura ou gravação feitas com o identificador especificado. FSCTL_ALLOW_EXTENDED_DASD_IO permite o acesso a setores ocultos, uma parte da partição que pode existir entre o primeiro setor da partição (o bloco de parâmetros de inicialização) e o primeiro setor útil da partição. FSCTL_ALLOW_EXTENDED_DASD_IO também permite o acesso a clusters perdidos, que podem existir entre o último cluster útil e o final da partição.
Solicitações de E/S emitidas após essa operação são passadas diretamente para o driver de dispositivo. Se essas chamadas subsequentes solicitarem dados além do limite de partição, o driver fará com que eles falhem.
Para obter as implicações de E/S sobreposta nesta operação, consulte a seção Comentários de DeviceIoControl.
Para recuperar um identificador para uma partição, chame CreateFile com o parâmetro lpFileName definido como uma cadeia de caracteres do seguinte formulário:
\.\X:
em que X é a letra da unidade.
O aplicativo que chama CreateFile também deve especificar os sinalizadores FILE_SHARE_READ e FILE_SHARE_WRITE no parâmetro dwShareMode de CreateFile. Para obter mais informações, consulte a seção Dispositivos de disco em CreateFile.
Para determinar a estrutura de partição da unidade e determinar se o sistema reconhece a partição, use o código de controle IOCTL_DISK_GET_DRIVE_LAYOUT_EX ou IOCTL_DISK_GET_DRIVE_LAYOUT , conforme apropriado. Para obter informações semelhantes sobre uma única partição, use o código de controle IOCTL_DISK_GET_PARTITION_INFO_EX ou IOCTL_DISK_GET_PARTITION_INFO , conforme apropriado. Para determinar o tamanho de um cluster, use a função GetDiskFreeSpaceEx ou GetDiskFreeSpace , conforme apropriado.
Em Windows Server 2012, essa função é compatível com as tecnologias a seguir.
Tecnologia | Com suporte |
---|---|
Protocolo SMB (SMB) 3.0 | No |
TFO (Failover transparente) do SMB 3.0 | No |
SMB 3.0 com compartilhamentos de arquivos de expansão (SO) | No |
Sistema de arquivos de Volume Compartilhado Clusterizado (CsvFS) | Sim |
ReFS (Sistema de Arquivos Resiliente) | Sim |
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Cabeçalho | winioctl.h (inclua Windows.h) |
Confira também
Códigos de controle de gerenciamento de arquivos
IOCTL_DISK_GET_DRIVE_LAYOUT_EX
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de