Compartilhar via


Função MmDoesFileHaveUserWritableReferences (ntifs.h)

A função MmDoesFileHaveUserWritableReferences determina se um arquivo associado a uma transação tem seções mapeadas pelo usuário presentes.

Sintaxe

ULONG MmDoesFileHaveUserWritableReferences(
  [in] PSECTION_OBJECT_POINTERS SectionPointer
);

Parâmetros

[in] SectionPointer

Ponteiro para uma estrutura de SECTION_OBJECT_POINTERS que contém os ponteiros do objeto de seção do objeto de arquivo. Esse parâmetro é necessário e não pode ser NULL.

Valor de retorno

MmDoesFileHaveUserWritableReferences retorna um dos valores a seguir.

Valor de retorno Significado
0 O objeto de arquivo não tem seções mapeadas pelo usuário. É seguro continuar com a transação.
1 O objeto de arquivo tem seções mapeadas pelo usuário. A transação deve ser revertida.

Observações

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 atomicidade não podem ser garantidas.

Antes de chamar MmDoesFileHaveUserWritableReferences, os sistemas de arquivos transacionais devem verificar 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 fornecido 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.

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 Kernel Transaction Manager.

Para obter mais informações sobre objetos de arquivo, consulte FILE_OBJECT.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows Vista
da Plataforma de Destino Universal
cabeçalho ntifs.h (inclua Fltkernel.h, Ntifs.h)
biblioteca NtosKrnl.lib
de DLL NtosKrnl.exe
IRQL <= APC_LEVEL
regras de conformidade de DDI HwStorPortProhibitedDIs(storport)

Consulte também

FILE_OBJECT

SECTION_OBJECT_POINTERS