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) |