Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Recupera o primeiro registro de arquivo que está em uso e é de um valor ordinal menor ou igual ao número de referência de arquivo solicitado.
Para executar essa operação, chame a função DeviceIoControl com os parâmetros a seguir.
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to device
FSCTL_GET_NTFS_FILE_RECORD, // 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
);
Observações
Esse código de controle enumera identificadores de arquivo de forma descendente e sempre retorna um registro de arquivo que está em uso. Isso significa que o identificador de arquivo retornado por esse código de controle pode não ser o mesmo que o identificador de arquivo especificado no buffer de entrada. Por exemplo, se os identificadores de arquivo 1 a 9 e 15 estiverem em uso, os identificadores de arquivo de 10 a 14 não estiverem em uso e o registro de arquivo correspondente ao identificador de arquivo 15 for solicitado, esse registro de arquivo será retornado.
Se os registros de arquivo que correspondem aos identificadores de arquivo de 10 a 14 forem solicitados, o registro de arquivo correspondente ao identificador de arquivo 9 será retornado. Se algum dos registros de arquivo correspondentes aos identificadores de arquivo 1 a 9 for solicitado, esses registros de arquivo serão retornados.
Para determinar o tamanho correto do buffer de saída apontado pelo lpOutBuffer, primeiro chame o código de controle FSCTL_GET_NTFS_VOLUME_DATA para obter o tamanho de um registro de arquivo. Esse é o valor do membro BytesPerFileRecordSegment da estrutura de NTFS_VOLUME_DATA_BUFFER retornada. Em seguida, defina o tamanho do buffer de saída para a seguinte expressão:
sizeof (NTFS_FILE_RECORD_OUTPUT_BUFFER) + sizeof (one file record) - 1
Se um arquivo consistir em vários registros de arquivo, ele deverá ser recuperado individualmente.
No Windows 8 e no Windows Server 2012, esse código é 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) | Yes |
| ReFS (Sistema de Arquivos Resiliente) | Não |
Requirements
| Requirement | Value |
|---|---|
| Cliente mínimo suportado | Windows XP [somente aplicativos da área de trabalho] |
| Servidor mínimo compatível | Windows Server 2003 [somente aplicativos da área de trabalho] |
| Header | winioctl.h (inclua Windows.h) |