código de controle FSCTL_ENUM_EXTERNAL_BACKING

O código de controle FSCTL_ENUM_EXTERNAL_BACKING inicia ou continua uma enumeração de arquivos em um volume que tem uma fonte de suporte. Para cada conclusão bem-sucedida da solicitação, um identificador para o arquivo com backup é retornado. Todos os arquivos com suporte são enumerados independentemente de qual provedor externo o esteja apoiando. Solicitações FSCTL_ENUM_EXTERNAL_BACKING sucessivas são necessárias para enumerar todos os arquivos com backup no volume.

Para executar essa operação, chame FltFsControlFile ou ZwFsControlFile com os parâmetros a seguir.

Parâmetros

  • Instância [in]: somente FltFsControlFile . Ponteiro de instância opaco para o chamador. Esse parâmetro é necessário e não pode ser NULL.

  • FileObject [in]: somente FltFsControlFile . O objeto de ponteiro de arquivo que especifica o volume a ser desmontado. Esse parâmetro é necessário e não pode ser NULL.

  • FileHandle [in]: somente ZwFsControlFile . O identificador de arquivo do volume a ser desmontado. Esse parâmetro é necessário e não pode ser NULL.

  • FsControlCode [in]: código de controle para a operação. Use FSCTL_ENUM_EXTERNAL_BACKING para esta operação.

  • InputBuffer [in]: Nenhum. Defina como NULL.

  • InputBufferLength [in]: definido como 0.

  • OutputBuffer [out]: um ponteiro para o buffer de saída, que deve ter um tamanho grande o suficiente para receber uma ou mais estruturas WOF_EXTERNAL_FILE_ID .

  • OutputBufferLength [out]: tamanho do buffer de saída apontado por OutputBuffer. OutputBufferLength deve ser >= sizeof(WOF_EXTERNAL_FILE_ID).

  • LengthReturned [out]: especifica o número de bytes gravados no OutputBuffer após a conclusão bem-sucedida.

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 Significado
STATUS_ACCESS_DENIED O solicitante não tem privilégios administrativos.
STATUS_BUFFER_TOO_SMALL O comprimento do buffer de saída apontado por OutputBuffer e especificado por OutputBufferLength é muito pequeno.
STATUS_NO_MORE_FILES Não há mais arquivos no volume que tenham uma fonte de suporte.
STATUS_INTERNAL_ERROR O volume solicitado não está acessível.
STATUS_INVALID_DEVICE_REQUEST O serviço de backup não está presente ou não foi iniciado.

Comentários

A estrutura WOF_EXTERNAL_FILE_ID retornada no OutputBuffer contém identificadores de arquivo exclusivos para arquivos com backup. A estrutura é definida em ntifs.h como a seguir.

typedef struct _WOF_EXTERNAL_FILE_ID {
    FILE_ID_128 FileId;
} WOF_EXTERNAL_FILE_ID, *PWOF_EXTERNAL_FILE_ID;

Uma solicitação de FSCTL_ENUM_EXTERNAL_BACKING é emitida sucessivamente para recuperar os identificadores de cada arquivo no volume que tem fonte de backup. Quando todos os arquivos são enumerados, o código STATUS_NO_MORE_FILES status é retornado.

Requisitos

Tipo de Requisito Requisito
Cliente mínimo com suporte Windows 8.1 Update
parâmetro Ntifs.h (inclua Ntifs.h ou Fltkernel.h)

Confira também

FltFsControlFile

ZwFsControlFile

FSCTL_GET_EXTERNAL_BACKING