共用方式為


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)

另請參閱

FILE_OBJECT

SECTION_OBJECT_POINTERS