Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O código de controle FSCTL_OFFLOAD_READ inicia uma leitura de descarregamento para um bloco de dados em um sistema de armazenamento que suporta primitivos de leitura de descarregamento.
Para executar essa operação, chame FltFsControlFile ou ZwFsControlFile com os seguintes parâmetros.
Parâmetros
Instância [in]: somente FltFsControlFile . Um ponteiro de instância opaco para o chamador. Este parâmetro é necessário e não pode ser NULL.
FileObject [in]: FltFsControlFile apenas. O objeto de ponteiro de arquivo que especifica o arquivo a ser lido. Este parâmetro é necessário e não pode ser NULL.
FileHandle [in]: somente ZwFsControlFile . O identificador de arquivo do arquivo a ser lido. Este parâmetro é necessário e não pode ser NULL.
FsControlCode [in]: O código de controle para a operação. Use FSCTL_OFFLOAD_READ para esta operação.
InputBuffer [in]: Um ponteiro para uma estrutura de FSCTL_OFFLOAD_READ_INPUT , que contém o tamanho e o deslocamento de um bloco de dados para leitura.
InputBufferLength [in]: O tamanho, em bytes, do buffer apontado por InputBuffer. Este valor é sizeof(FSCTL_OFFLOAD_READ_INPUT).
OutputBuffer [out]: Um ponteiro para uma estrutura FSCTL_OFFLOAD_READ_OUTPUT , que recebe os resultados da operação de leitura de descarregamento.
OutputBufferLength [out]: O tamanho, em bytes, do buffer apontado pelo parâmetro OutputBuffer . Este valor deve ser pelo menos sizeof(FSCTL_OFFLOAD_READ_OUTPUT).
Bloco de status
FltFsControlFile ou ZwFsControlFile retornará STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, a função apropriada pode retornar um dos seguintes valores NTSTATUS.
| Código | Meaning |
|---|---|
| STATUS_INVALID_DEVICE_REQUEST | O identificador especificado não é um identificador de arquivo válido |
| STATUS_INVALID_PARAMETER | Um parâmetro é inválido. Ver Observações. |
| STATUS_VOLUME_DISMOUNTED | O volume do sistema de arquivos é desmontado. |
| STATUS_NOT_SUPPORTED | Não há suporte para operações de leitura de descarregamento neste volume. |
| STATUS_OFFLOAD_READ_FILE_NOT_SUPPORTED | O tipo de ficheiro solicitado não é suportado. Não há suporte para operações de descarregamento nestes tipos de arquivo: Um arquivo transacionado (TxF); Ficheiros não utilizadores; Ficheiros comprimidos; Ficheiros encriptados; Arquivos esparsos; Arquivos NTFS Metatdata. |
| STATUS_FILE_DELETED | O fluxo de dados para este arquivo é inválido. |
| STATUS_FILE_CLOSED | O identificador de arquivo está fechado. |
| STATUS_INVALID_HANDLE | O identificador de arquivo especificado é inválido. |
| STATUS_FILE_LOCK_CONFLICT | Acesso de leitura insuficiente devido ao estado atual de bloqueio de arquivos. |
| STATUS_END_OF_FILE | O membro FileOffset do FSCTL_OFFLOAD_READ_INPUT começa após o fim do arquivo (EOF). |
| STATUS_DISMOUNTED_VOLUME | Uma leitura de descarga não pode ocorrer em um volume desmontado. |
| STATUS_INSUFFICIENT_RESOURCES | Os recursos disponíveis são insuficientes para completar o pedido. |
| STATUS_BUFFER_TOO_SMALL | OutputBufferLength é muito pequeno para OutputBuffer receber uma estrutura FSCTL_OFFLOAD_READ_OUTPUT . |
Observações
A leitura de descarregamento está disponível apenas para arquivos normais. Consulte a descrição para STATUS_OFFLOAD_READ_FILE_NOT_SUPPORTED para obter uma lista de tipos de arquivo não suportados.
É possível que as leituras comecem além do comprimento de dados válido (VDL), mas não além do EOF.
Quando STATUS_INVALID_PARAMETER é retornado, o erro pode ser um dos seguintes parâmetros inválidos:
- O tamanho do ficheiro é inferior a PAGE_SIZE.
-
InputBufferLength<
sizeof(FSCTL_OFFLOAD_READ_INPUT). - Um ou mais destes membros da FSCTL_OFFLOAD_READ_INPUT estão incorretos:
- FileOffset não é um múltiplo do tamanho do setor lógico do volume.
- CopyLength não é um múltiplo do tamanho do setor lógico do volume.
- O tamanho não é o tamanho da estrutura FSCTL_OFFLOAD_READ_INPUT .
- FileOffset + Comprimento de cópia>MAXULONGLONG.
Requerimentos
| Tipo de requisito | Requisito |
|---|---|
| Cliente mínimo suportado | Janelas 8 |
| Header | Ntifs.h (inclui Ntifs.h ou Fltkernel.h) |