共用方式為


MRxQueryDirectory 例程

RDBSS 會呼叫 MRxQueryDirectory 例程,以要求網路迷你重新導向器在檔案目錄上查詢資訊。

語法

PMRX_CALLDOWN MRxQueryDirectory;

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

參數

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

傳回值

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

傳回碼 Description
STATUS_ACCESS_DENIED

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

STATUS_INSUFFICIENT_RESOURCES

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

STATUS_INVALID_NETWORK_RESPONSE

從遠端伺服器收到無效的檔案資訊緩衝區,或傳回的檔名長度超過允許的最大長度。

STATUS_INVALID_PARAMETER

RxContext 參數所指向的 RX_CONTEXT 結構中,Info.FileInformationClass 成員中指定了無效的 FileInformationClass。

STATUS_LINK_FAILED

嘗試重新連線到遠端伺服器以完成查詢失敗。

STATUS_NO_SUCH_FILE

查詢找不到任何專案。

STATUS_SHARING_VIOLATION

發生共享違規。

備註

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

Info.FileInformationClass 成員設定為 IrpSp-Parameters.QueryDirectory.FileInformationClass>

Info.Buffer 成員會設定為來自 I/O 要求封包的用戶緩衝區。 如有需要,RDBSS 已鎖定此緩衝區。

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

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

如果 IrpSp-Flags> 具有SL_RESTART_SCAN位,則 QueryDirectory.RestartScan 成員會設定為非零。

如果 IrpSp-Flags> 具有SL_RETURN_SINGLE_ENTRY位,QueryDirectory.ReturnSingleEntry 成員會設定為非零。

如果 IrpSp-Flags> 具有SL_INDEX_SPECIFIED位,QueryDirectory.IndexSpecified 成員會設定為非零。

如果相關聯 FOBX 的 UnicodeQueryTemplate.Buffer 成員為 NULL,且 FOBX 的 Flags 成員沒有FOBX_FLAG_MATCH_ALL位,則 QueryDirectory.InitialQuery 成員會設定為非零。

例如,對於通配符查詢 (“*.*”,例如) ,RDBSS 會將相關聯 FOBX 的 UnicodeQueryTemplate.Buffer 成員設定為傳遞的通配符查詢。

如果從 MRxQueryDirectory 傳回RX_CONTEXT結構的 PostRequest 成員為 TRUE,RDBSS 會呼叫 RxFsdPostRequest,將RX_CONTEXT結構傳遞至背景工作佇列,讓文件系統進程 (FSP) 進行處理。

規格需求

目標平台

桌面

標頭

Mrx.h (包含 Mrx.h)

另請參閱

MRxIsValidDirectory

MRxQueryEaInfo

MRxQueryFileInfo

MRxQueryQuotaInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetFileInfoAtCleanup

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo

RxFsdPostRequest