MRxSetFileInfoAtCleanup 例程
RDBSS 會呼叫 MRxSetFileInfoAtCleanup 例程,以要求網路迷你重新導向器在清除時在文件系統對象上設定檔案資訊。
語法
PMRX_CALLDOWN MRxSetFileInfoAtCleanup;
NTSTATUS MRxSetFileInfoAtCleanup(
_Inout_ PRX_CONTEXT RxContext
)
{ ... }
參數
RxContext [in, out]
RX_CONTEXT 結構的指標。 此參數包含要求作業的 IRP。
傳回值
MRxSetFileInfoAtCleanup 會在成功或適當的NTSTATUS值上傳回STATUS_SUCCESS。
備註
RDBSS 會在清除期間發出 對 MRxSetFileInfoAtCleanup 的呼叫,當檔案對象的最後一個句柄關閉時。 這與刪除檔案對象的最後一個參考時所叫用的關閉作業不同。
如果檔案上的時間戳或檔案的大小已變更,則 RDBSS 會呼叫 MRxSetFileInfoAtCleanup。 RDBSS 對 MRxSetFileInfoAtCleanup 的呼叫會針對每個變更分別進行。 如果檔案大小和時間戳都已變更,則 RDBSS 會對 MRxSetFileInfoAtCleanup 進行兩次呼叫。
在呼叫 MRxSetFileInfoAtCleanup 之前,如果檔案上的時間戳已變更,RDBSS 會修改 RxContext 參數所指向RX_CONTEXT結構中的下列成員:
Info.FileInformationClass 成員會設定為 FileBasicInformation 的FILE_INFORMATION_CLASS值。
Info.Buffer 成員會設定為堆疊上配置的FILE_BASIC_INFORMATION結構。
Info.Length 成員會設定為FILE_BASIC_INFORMATION結構的大小。
在呼叫 MRxSetFileInfoAtCleanup 之前,如果檔案的大小已變更,RDBSS 會修改 RxContext 參數所指向RX_CONTEXT結構中的下列成員:
Info.FileInformationClass 成員會設定為 FileEndOfFileInformation 的FILE_INFORMATION_CLASS值。
Info.Buffer 成員會設定為堆疊上配置的FILE_END_OF_FILE_INFORMATION結構。
Info.Length 成員會設定為 sizeof (FILE_END_OF_FILE_INFORMATION) 。
RDBSS 會忽略 MRxSetFileInfoAtCleanup 的傳回值。
網路迷你重新導向器可以選擇在此例程中執行任何動作,並傳回STATUS_SUCCESS。 在清除作業期間,將會處理檔案大小或時間戳的任何變更。
規格需求
目標平台 |
桌面 |
標頭 |
Mrx.h (包含 Mrx.h) |