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)