Routine MRxQueryDirectory
La routine MRxQueryDirectory viene chiamata da RDBSS per richiedere che una query mini-redirector di rete su una directory di file.
Sintassi
PMRX_CALLDOWN MRxQueryDirectory;
NTSTATUS MRxQueryDirectory(
_Inout_ PRX_CONTEXT RxContext
)
{ ... }
Parametri
RxContext [in, out]
Puntatore alla struttura RX_CONTEXT. Questo parametro contiene l'IRP che richiede l'operazione.
Valore restituito
MRxQueryDirectory restituisce STATUS_SUCCESS sull'esito positivo o su un valore NTSTATUS appropriato, ad esempio uno dei seguenti:
Codice restituito | Descrizione |
---|---|
STATUS_ACCESS_DENIED | Il chiamante non ha la sicurezza appropriata per questa operazione. |
STATUS_INSUFFICIENT_RESOURCES | Per completare la query sono state eseguite risorse insufficienti. |
STATUS_INVALID_NETWORK_RESPONSE | Un buffer di informazioni sui file non valido è stato ricevuto dal server remoto o da una lunghezza del nome file restituita superata la lunghezza massima consentita. |
STATUS_INVALID_PARAMETER | FileInformationClass non valido è stato specificato nel membro Info.FileInformationClass nella struttura RX_CONTEXT a cui fa riferimento il parametro RxContext . |
STATUS_LINK_FAILED | Tentativo di riconnessione a un server remoto per completare la query non riuscita. |
STATUS_NO_SUCH_FILE | La query non è riuscita a trovare le voci. |
STATUS_SHARING_VIOLATION | Si è verificata una violazione della condivisione. |
Commenti
Prima di chiamare MRxQueryDirectory, RDBSS modifica i membri seguenti nella struttura RX_CONTEXT a cui punta il parametro RxContext :
Il membro Info.FileInformationClass è impostato su IrpSp-Parameters.QueryDirectory.FileInformationClass>.
Il membro Info.Buffer è impostato sul buffer utente dal pacchetto di richiesta di I/O. Questo buffer è già stato bloccato da RDBSS se necessario.
Il membro Info.LengthRemaining è impostato su IrpSp-Parameters.QueryDirectory.Length>.
Il membro QueryDirectory.FileIndex è impostato su IrpSp-Parameters.QueryDirectory.FileIndex>.
Il membro QueryDirectory.RestartScan è impostato su non zero se IrpSp-Flags> ha il bit di SL_RESTART_SCAN.
Il membro QueryDirectory.ReturnSingleEntry è impostato su non zero se IrpSp-Flags> ha il bit di SL_RETURN_SINGLE_ENTRY.
Il membro QueryDirectory.IndexSpecified è impostato su non zero se IrpSp-Flags> ha il bit di SL_INDEX_SPECIFIED.
Il membro QueryDirectory.InitialQuery è impostato su non zero se il membro UnicodeQueryTemplate.Buffer del foBX associato è NULL e il membro Flags del FOBX non dispone del bit di FOBX_FLAG_MATCH_ALL.
Per una query con caratteri jolly ("*.*", ad esempio), RDBSS imposta il membro UnicodeQueryTemplate.Buffer della query foBX associata alla query con caratteri jolly passata.
Se il membro PostRequest della struttura di RX_CONTEXT è TRUE restituito da MRxQueryDirectory, RDBSS chiamerà RxFsdPostRequest passando la struttura RX_CONTEXT a una coda di lavoro per l'elaborazione dal processo di file system (FSP).
Requisiti
Piattaforma di destinazione |
Desktop |
Intestazione |
Mrx.h (include Mrx.h) |