共用方式為


MRxQueryFileInfo 例程

RDBSS 會呼叫MRxQueryFileInfo 例程,要求文件系統物件上的網路迷你重新導向器查詢檔案資訊。

語法

PMRX_CALLDOWN MRxQueryFileInfo;

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

參數

RxContext [in, out]
RX_CONTEXT 結構的指標。 此參數包含要求作業的 IRP。

傳回值

MRxQueryFileInfo 會在成功或適當的 NTSTATUS 值上傳回STATUS_SUCCESS,例如下列其中一項:

傳回碼 Description
STATUS_ACCESS_DENIED

呼叫端缺少此作業的適當安全性。

STATUS_BUFFER_OVERFLOW

接收檔案信息的緩衝區太小。

這個傳回值應該視為成功,而且應該盡可能在 RxContext 參數所指向之RX_CONTEXT結構的 Info.Buffer 成員中傳回有效的數據。

STATUS_BUFFER_TOO_SMALL

緩衝區太小,無法接收要求的數據。

如果傳回這個值,則 RxContext 參數所指向之RX_CONTEXT結構的 InformationToReturn 成員應該設定為預期的緩衝區大小下限,讓呼叫成功。

STATUS_INSUFFICIENT_RESOURCES

資源不足,無法完成查詢。

STATUS_INVALID_NETWORK_RESPONSE

從遠端伺服器收到無效的檔案信息緩衝區。

STATUS_INVALID_PARAMETER

指定了無效的參數。

如果傳遞RX_CONTEXT中 FileInformationClass 成員的值無效,則可以傳回此值。 如果指定的 FileInformationClass 成員是針對 FileStreamInformation 而遠端檔案系統不支持數據流,也可以傳回此值。

STATUS_OBJECT_NAME_NOT_FOUND

找不到物件名稱。 這是錯誤碼。

備註

RDBSS 發出 MRxQueryFileInfo 的呼叫,以回應接收 IRP_MJ_QUERY_INFORMATION 要求。

呼叫 MRxQueryFileInfo 之前,RDBSS 會修改 RxContext 參數所指向之RX_CONTEXT結構中的下列成員:

Info.FileInformationClass 成員會設定為 IrpSp-Parameters.QueryFile.FileInformationClass>,要求FILE_INFORMATION_CLASS值。

Info.Buffer 成員會從 I/O 要求封包設定為用戶緩衝區。

Info.LengthRemaining 成員會設定為 IrpSp-Parameters.QueryFile.Length>

QueryDirectory.FileIndex 成員設定為 IrpSp-Parameters.QueryDirectory.FileIndex>

如果 IrpSp-Flags> 已設定 SL_RESTART_SCAN 位,則會設定 QueryDirectory.RestartScan 成員。

如果 IrpSp-Flags> 已設定SL_RETURN_SINGLE_ENTRY位,則會設定 QueryDirectory.ReturnSingleEntry 成員。

如果 Fobx-UnicodeQueryTemplate.Buffer>NULLFobx-Flags> 沒有設定FOBX_FLAG_MATCH_ALL位,則會設定 QueryDirectory.InitialQuery 成員。

成功時,網路迷你重新導向器應該將 RX_CONTEXT 結構的 Info.LengthRemaining 成員設定為 Info.Length 成員減去所傳回檔案資訊的長度。 如果呼叫 MRxQueryFileInfo 成功,RDBSS 會將 IRP 的 IoStatus.Information 成員設定為 IrpSp-Parameters.QueryFile.Length> 減去 RX_CONTEXT 的 Info.LengthRemaining 成員。

RDBSS 不支援 IrpSp-Flags> 集合SL_INDEX_SPECIFIED位的要求。 網路迷你重新導向器不會收到對 MRxQueryFileInfo 的呼叫,而 IrpSp-Flags> 集的SL_INDEX_SPECIFIED位。

規格需求

目標平台

桌面

標頭

Mrx.h (包含 Mrx.h)

另請參閱

MRxIsValidDirectory

MRxQueryDirectory

MRxQueryEaInfo

MRxQueryQuotaInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetFileInfoAtCleanup

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo