Función MmDoesFileHaveUserWritableReferences (ntifs.h)

La función MmDoesFileHaveUserWritableReferences devuelve el número de referencias grabables para un objeto de archivo.

Sintaxis

ULONG MmDoesFileHaveUserWritableReferences(
  [in] PSECTION_OBJECT_POINTERS SectionPointer
);

Parámetros

[in] SectionPointer

Puntero a una estructura de SECTION_OBJECT_POINTERS que contiene los punteros de objeto de sección del objeto de archivo. Este parámetro es obligatorio y no puede ser NULL.

Valor devuelto

MmDoesFileHaveUserWritableReferences devuelve el número de referencias grabables para el objeto de archivo asociado al parámetro SectionPointer .

Comentarios

MmDoesFileHaveUserWritableReferences devuelve el número de referencias grabables para el objeto de archivo asociado al parámetro SectionPointer . Este valor devuelto es la suma de los números siguientes:

  • Número de identificadores de archivo grabable para el objeto de archivo asociado.

  • Número de secciones grabables para el objeto de archivo asociado.

  • Número de vistas grabables para el objeto de archivo asociado.

  • Número de MDLpendientes, que son regiones de asignación para el objeto de archivo asociado.

En el caso de los sistemas de archivos transaccionales, puede usar esta función para determinar si una transacción determinada hace referencia a un objeto de archivo que puede cambiar. Si es así, la transacción debe revertirse porque no se puede garantizar la atomicidad .

Antes de llamar a MmDoesFileHaveUserWritableReferences, los sistemas de archivos transaccionales deben comprobar e interceptar la creación de objetos de archivo que especifican el acceso de escritura. En concreto, antes de iniciar una transacción, los sistemas de archivos transaccionales deben asegurarse de que no haya objetos de archivo grabables que existan actualmente para el archivo especificado en la transacción. Mientras la transacción está en curso, los sistemas de archivos transaccionales deben producir un error en las solicitudes para crear objetos de archivo con acceso de escritura para los archivos de transacción.

Nota

Esta función se puede usar para detectar si hay vistas grabables para un objeto de archivo incluso cuando se han cerrado todos los identificadores de archivo y identificadores de sección para el objeto de archivo.

Para obtener más información sobre las transacciones, vea Administrador de transacciones de kernel.

Para obtener más información sobre los objetos de archivo, vea FILE_OBJECT.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista
Plataforma de destino Universal
Encabezado ntifs.h (incluya Fltkernel.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <= APC_LEVEL
Reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport)