Função MmDoesFileHaveUserWritableReferences (ntifs.h)
A função MmDoesFileHaveUserWritableReferences retorna o número de referências graváveis para um objeto de arquivo.
Sintaxe
ULONG MmDoesFileHaveUserWritableReferences(
[in] PSECTION_OBJECT_POINTERS SectionPointer
);
Parâmetros
[in] SectionPointer
Ponteiro para uma estrutura SECTION_OBJECT_POINTERS que contém os ponteiros de objeto de seção do objeto de arquivo. Esse parâmetro é necessário e não pode ser NULL.
Retornar valor
MmDoesFileHaveUserWritableReferences retorna o número de referências graváveis para o objeto de arquivo associado ao parâmetro SectionPointer .
Comentários
MmDoesFileHaveUserWritableReferences retorna o número de referências graváveis para o objeto de arquivo associado ao parâmetro SectionPointer . Esse valor retornado é a soma dos seguintes números:
O número de identificadores de arquivo graváveis para o objeto de arquivo associado.
O número de seções graváveis para o objeto de arquivo associado.
O número de exibições graváveis para o objeto de arquivo associado.
O número de MDLspendentes, que são regiões de mapeamento para o objeto de arquivo associado.
Para sistemas de arquivos transacionais, você pode usar essa função para determinar se uma determinada transação está fazendo referência a um objeto de arquivo que pode ser alterado. Nesse caso, a transação deve ser revertida porque a atomicidade não pode ser garantida.
Antes de chamar MmDoesFileHaveUserWritableReferences, os sistemas de arquivos transacionais devem marcar e interceptar a criação de objetos de arquivo que especificam o acesso de gravação. Especificamente, antes de iniciar uma transação, os sistemas de arquivos transacionais devem garantir que não haja objetos de arquivo graváveis que existam atualmente para o arquivo especificado na transação. Embora a transação esteja em andamento, os sistemas de arquivos transacionais devem falhar nas solicitações para criar objetos de arquivo com acesso de gravação para os arquivos transacionados.
Observação
Essa função pode ser usada para detectar se há exibições graváveis para um objeto de arquivo mesmo quando todos os identificadores de arquivo e identificadores de seção do objeto de arquivo foram fechados.
Para obter mais informações sobre transações, consulte Gerenciador de Transações do Kernel.
Para obter mais informações sobre objetos de arquivo, consulte FILE_OBJECT.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista |
Plataforma de Destino | Universal |
Cabeçalho | ntifs.h (inclua Fltkernel.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
Regras de conformidade de DDI | HwStorPortProhibitedDDIs(storport) |