Compartir a través de


Función MmDoesFileHaveUserWritableReferences (ntifs.h)

La función MmDoesFileHaveUserWritableReferences determina si un archivo asociado a una transacción tiene secciones asignadas por el usuario.

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 necesario y no se puede NULL.

Valor devuelto

MmDoesFileHaveUserWritableReferences devuelve uno de los siguientes valores.

Valor devuelto Significado
0 El objeto de archivo no tiene secciones asignadas por el usuario. Es seguro continuar con la transacción.
1 El objeto de archivo tiene secciones asignadas por el usuario. La transacción debe revertirse.

Observaciones

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 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 ningún objeto de archivo grabable que exista 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 transaccionados.

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, consulte administrador de transacciones de kernel.

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

Requisitos

Requisito Valor
cliente mínimo admitido Windows Vista
de la plataforma de destino de Universal
encabezado de ntifs.h (include Fltkernel.h, Ntifs.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL <= APC_LEVEL
reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport)

Consulte también

FILE_OBJECT

SECTION_OBJECT_POINTERS