Condividi tramite


Funzione MmDoesFileHaveUserWritableReferences (ntifs.h)

La funzione MmDoesFileHaveUserWritableReferences determina se un file associato a una transazione include sezioni mappate dall'utente.

Sintassi

ULONG MmDoesFileHaveUserWritableReferences(
  [in] PSECTION_OBJECT_POINTERS SectionPointer
);

Parametri

[in] SectionPointer

Puntatore a una struttura SECTION_OBJECT_POINTERS che contiene i puntatori agli oggetti sezione dell'oggetto file. Questo parametro è obbligatorio e non può essere NULL.

Valore restituito

MmDoesFileHaveUserWritableReferences restituisce uno dei valori seguenti.

Valore restituito Significato
0 L'oggetto file non include sezioni mappate dall'utente. È sicuro procedere con la transazione.
1 L'oggetto file include sezioni mappate dall'utente. È necessario eseguire il rollback della transazione.

Osservazioni

Per i file system transazionali, è possibile usare questa funzione per determinare se una determinata transazione fa riferimento a un oggetto file che può cambiare. In tal caso, è necessario eseguire il rollback della transazione perché non è possibile garantire atomicità.

Prima di chiamare MmDoesFileHaveUserWritableReferences, i file system transazionali devono controllare e intercettare la creazione di oggetti file che specificano l'accesso in scrittura. In particolare, prima di avviare una transazione, i file system transazionali devono assicurarsi che non esistano oggetti file scrivibili attualmente presenti per il file specificato nella transazione. Mentre la transazione è in corso, i file system transazionali devono non riuscire a creare oggetti file con accesso in scrittura per i file transazionali.

Questa funzione può essere usata per rilevare se sono presenti visualizzazioni scrivibili per un oggetto file anche quando tutti gli handle di file e gli handle di sezione per l'oggetto file sono stati chiusi.

Per altre informazioni sulle transazioni, vedere Kernel Transaction Manager.

Per altre informazioni sugli oggetti file, vedere FILE_OBJECT.

Fabbisogno

Requisito Valore
client minimo supportato Windows Vista
piattaforma di destinazione Universale
intestazione ntifs.h (include Fltkernel.h, Ntifs.h)
libreria NtosKrnl.lib
dll NtosKrnl.exe
IRQL <= APC_LEVEL
regole di conformità DDI HwStorPortProhibitedDDIs(storport)

Vedere anche

FILE_OBJECT

SECTION_OBJECT_POINTERS