MRxSetFileInfoAtCleanup 例程

RDBSS 调用 MRxSetFileInfoAtCleanup 例程,请求网络微型重定向程序在清理时设置文件系统对象上的文件信息。

语法

PMRX_CALLDOWN MRxSetFileInfoAtCleanup;

NTSTATUS MRxSetFileInfoAtCleanup(
  _Inout_ PRX_CONTEXT RxContext
)
{ ... }

参数

RxContext [in, out]
指向RX_CONTEXT结构的指针。 此参数包含请求操作的 IRP。

返回值

MRxSetFileInfoAtCleanup 在成功时返回STATUS_SUCCESS或相应的 NTSTATUS 值。

注解

当文件对象的最后一个句柄关闭时,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)

另请参阅

MRxIsValidDirectory

MRxQueryDirectory

MRxQueryEaInfo

MRxQueryFileInfo

MRxQueryQuotaInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo