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) |