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