Partilhar via


FSCTL_OFFLOAD_READ código de controlo

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)

Consulte também

FltFsControlFile

ZwFsControlFile

FSCTL_OFFLOAD_READ_INPUT

FSCTL_OFFLOAD_READ_OUTPUT