FSCTL_ALLOW_EXTENDED_DASD_IO IOCTL (winioctl.h)
Sinaliza o driver do sistema de arquivos para não executar nenhuma verificação 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 do 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 ); |
Observações
Uma chamada usando o código de controle FSCTL_ALLOW_EXTENDED_DASD_IO só deve ser usada com grande cuidado por programadores familiarizados com a estrutura subjacente de uma unidade de disco rígido e sistema de arquivos. O uso incorreto 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 o driver do sistema de arquivos para não executar 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 do 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 da 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:
onde X é a letra da unidade.
O aplicativo que chama
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.
No Windows Server 2012, essa função é compatível com as tecnologias a seguir.
Tecnologia | Suportado |
---|---|
Protocolo SMB (Bloco de Mensagens do Servidor) 3.0 | Não |
TFO (Failover Transparente) do SMB 3.0 | Não |
SMB 3.0 com Compartilhamentos de Arquivos de Expansão (SO) | Não |
Sistema de Arquivos de Volume Compartilhado de Cluster (CsvFS) | Sim |
ReFS (Sistema de Arquivos Resiliente) | Sim |
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows XP [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows Server 2003 [somente aplicativos da área de trabalho] |
cabeçalho | winioctl.h (inclua Windows.h) |
Consulte também
códigos de controle de gerenciamento de arquivos
IOCTL_DISK_GET_DRIVE_LAYOUT_EX