Funzione MmDoesFileHaveUserWritableReferences (ntifs.h)
La funzione MmDoesFileHaveUserWritableReferences restituisce il numero di riferimenti scrivibili per un oggetto file.
Sintassi
ULONG MmDoesFileHaveUserWritableReferences(
[in] PSECTION_OBJECT_POINTERS SectionPointer
);
Parametri
[in] SectionPointer
Puntatore a una struttura SECTION_OBJECT_POINTERS contenente i puntatori a oggetti sezione dell'oggetto file. Questo parametro è obbligatorio e non può essere NULL.
Valore restituito
MmDoesFileHaveUserWritableReferences restituisce il numero di riferimenti scrivibili per l'oggetto file associato al parametro SectionPointer .
Commenti
MmDoesFileHaveUserWritableReferences restituisce il numero di riferimenti scrivibili per l'oggetto file associato al parametro SectionPointer . Questo valore restituito è la somma dei numeri seguenti:
Numero di handle di file scrivibili per l'oggetto file associato.
Numero di sezioni scrivibili per l'oggetto file associato.
Numero di visualizzazioni scrivibili per l'oggetto file associato.
Numero di MDLin sospeso, ovvero aree di mapping per l'oggetto file associato.
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, la transazione deve essere eseguito il rollback perché l'atomicità non può essere garantita.
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 siano presenti oggetti file scrivibili attualmente presenti per il file specificato nella transazione. Anche se la transazione è in corso, i file system transazionali devono non riuscire le richieste per creare oggetti file con accesso in scrittura per i file transazionali.
Nota
Questa funzione può essere usata per rilevare se sono presenti visualizzazioni scrivibili per un oggetto file anche quando tutti gli handle e le sezioni dei file 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.
Requisiti
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 | HwStorPortProhibitedDDDIs(storport) |