MmDoesFileHaveUserWritableReferences 函式 (ntifs.h)
MmDoesFileHaveUserWritableReferences 函式會傳回檔案物件的可寫入參考數目。
語法
ULONG MmDoesFileHaveUserWritableReferences(
[in] PSECTION_OBJECT_POINTERS SectionPointer
);
參數
[in] SectionPointer
包含檔案物件的區段對象指標 之SECTION_OBJECT_POINTERS 結構的指標。 這個參數是必要的,而且不能是 NULL。
傳回值
MmDoesFileHaveUserWritableReferences 會傳回與 SectionPointer 參數相關聯之檔案物件的可寫入參考數目。
備註
MmDoesFileHaveUserWritableReferences 會傳回與 SectionPointer 參數相關聯之檔案物件的可寫入參考數目。 此傳回值是下列數位的總和:
相關聯檔案物件的可寫入檔句柄數目。
相關聯檔案物件的可寫入區段數目。
相關聯檔案物件的可寫入檢視數目。
未處理的 MDL數目,這是相關聯檔案對象的對應區域。
對於交易文件系統,您可以使用此函式來判斷指定的交易是否參考可變更的檔案物件。 如果是,則必須回復交易,因為無法保證 不可部分完成性 。
在呼叫 MmDoesFileHaveUserWritableReferences 之前,交易文件系統必須檢查並攔截指定寫入許可權的檔案物件建立。 具體來說,在開始交易之前,交易式文件系統必須確定交易中給定檔案目前沒有任何可寫入的檔案物件存在。 當交易進行時,交易文件系統必須失敗,要求才能建立具有交易檔案寫入許可權的檔案物件。
注意
即使檔案物件的所有檔句柄和區段句柄都已關閉,此函式也可以用來偵測檔案物件是否有可寫入的檢視。
如需交易的詳細資訊,請參閱 核心交易管理員。
如需檔案對象的詳細資訊,請參閱 FILE_OBJECT。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista |
目標平台 | Universal |
標頭 | ntifs.h (包含 Fltkernel.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
DDI 合規性規則 | HwStorPortProhibitedDIS (storport) |