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)

Vedi anche

MRxIsValidDirectory

MRxQueryEaInfo

MRxQueryFileInfo

MRxQueryQuotaInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetFileInfoAtCleanup

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo

RxFsdPostRequest