estrutura FILE_DISPOSITION_INFORMATION_EX (ntddk.h)
A estrutura FILE_DISPOSITION_INFORMATION_EX é usada como um argumento para a rotina ZwSetInformationFile e indica como o sistema operacional deve excluir um arquivo.
Sintaxe
typedef struct _FILE_DISPOSITION_INFORMATION_EX {
ULONG Flags;
} FILE_DISPOSITION_INFORMATION_EX, *PFILE_DISPOSITION_INFORMATION_EX;
Membros
Flags
Especifica quais ações o sistema deve executar com um arquivo específico durante a exclusão.
Nome do Sinalizador | Valor | Significado |
---|---|---|
FILE_DISPOSITION_DO_NOT_DELETE | 0x00000000 | Especifica que o sistema não deve excluir um arquivo. |
FILE_DISPOSITION_DELETE | 0x00000001 | Especifica que o sistema deve excluir um arquivo. |
FILE_DISPOSITION_POSIX_SEMANTICS | 0x00000002 | Especifica que o sistema deve executar uma exclusão no estilo POSIX. Confira mais informações em Comentários. |
FILE_DISPOSITION_FORCE_IMAGE_SECTION_CHECK | 0x00000004 | Especifica que o sistema deve forçar uma seção de imagem marcar. |
FILE_DISPOSITION_ON_CLOSE | 0x00000008 | Especifica se o sistema define ou limpa o estado de fechamento. |
FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE | 0x00000010 | Permite que arquivos somente leitura sejam excluídos. Para obter mais informações, consulte a seção Comentários abaixo. |
Comentários
O chamador deve ter acesso DELETE a um determinado arquivo para chamar ZwSetInformationFile com FILE_DISPOSITION_DELETE.
Quando FILE_DISPOSITION_POSIX_SEMANTICS não está definido, um arquivo marcado para exclusão não é realmente excluído até que todos os identificadores abertos para o arquivo tenham sido fechados e a contagem de link para o arquivo seja zero. Quando FILE_DISPOSITION_POSIX_SEMANTICS é definido, o link é removido do namespace visível assim que o identificador de exclusão POSIX é fechado, mas os fluxos de dados do arquivo permanecem acessíveis por outros identificadores existentes até que o último identificador seja fechado. Ou seja, os aplicativos que já tinham o arquivo aberto ainda podem usar o identificador para ler/gravar, mesmo que o nome usado para abri-lo tenha sumido e a contagem de links do arquivo possa ter atingido zero.
Se o arquivo estiver sendo excluído a pedido do usuário, o uso da semântica POSIX permitirá que o sistema exclua o arquivo conforme solicitado, mas também permitirá que qualquer processo com um identificador aberto continue a acessar os dados do arquivo, desde que o identificador esteja aberto.
Um valor retornado de STATUS_CANNOT_DELETE indica que o arquivo é somente leitura ou há uma exibição mapeada existente para o arquivo.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | ntddk.h (inclua Ntddk.h, Ntifs.h) |