Routine MRxQueryFileInfo

La routineMRxQueryFileInfo viene chiamata da RDBSS per richiedere che un mini-redirector di rete esegua le informazioni sui file di query su un oggetto file system.

Sintassi

PMRX_CALLDOWN MRxQueryFileInfo;

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

Parametri

RxContext [in, out]
Puntatore alla struttura RX_CONTEXT. Questo parametro contiene l'IRP che richiede l'operazione.

Valore restituito

MRxQueryFileInfo restituisce STATUS_SUCCESS in caso di esito positivo o di 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_BUFFER_OVERFLOW

Il buffer per ricevere le informazioni sul file era troppo piccolo.

Questo valore restituito deve essere considerato riuscito e deve essere restituito il maggior numero possibile di dati validi nel membro Info.Buffer della struttura RX_CONTEXT a cui punta il parametro RxContext .

STATUS_BUFFER_TOO_SMALL

Il buffer è troppo piccolo per ricevere i dati richiesti.

Se questo valore viene restituito, il membro InformationToReturn della struttura RX_CONTEXT a cui punta il parametro RxContext deve essere impostato sulla dimensione minima del buffer previsto affinché la chiamata abbia esito positivo.

STATUS_INSUFFICIENT_RESOURCES

Risorse insufficienti per completare la query.

STATUS_INVALID_NETWORK_RESPONSE

Un buffer di informazioni sul file non valido è stato ricevuto dal server remoto.

STATUS_INVALID_PARAMETER

È stato specificato un parametro non valido.

Questo valore può essere restituito se viene passato un valore non valido per il membro FileInformationClass nel RX_CONTEXT. Questo valore può essere restituito anche se il membro FileInformationClass specificato è per FileStreamInformation e il file system remoto non supporta i flussi.

STATUS_OBJECT_NAME_NOT_FOUND

Il nome dell'oggetto non è stato trovato. Si tratta di un codice di errore.

Commenti

RDBSS invia una chiamata a MRxQueryFileInfo in risposta alla ricezione di una richiesta di IRP_MJ_QUERY_INFORMATION .

Prima di chiamare MRxQueryFileInfo, RDBSS modifica i membri seguenti nella struttura RX_CONTEXT a cui punta il parametro RxContext :

Il membro Info.FileInformationClass è impostato su IrpSp-Parameters.QueryFile.FileInformationClass>, il valore FILE_INFORMATION_CLASS richiesto.

Il membro Info.Buffer è impostato sul buffer utente dal pacchetto di richiesta di I/O.

Il membro Info.LengthRemaining è impostato su IrpSp-Parameters.QueryFile.Length>.

Il membro QueryDirectory.FileIndex è impostato su IrpSp-Parameters.QueryDirectory.FileIndex>.

Il membro QueryDirectory.RestartScan viene impostato se IrpSp-Flags> ha il SL_RESTART_SCAN bit impostato.

Il membro QueryDirectory.ReturnSingleEntry viene impostato se IrpSp-Flags> ha SL_RETURN_SINGLE_ENTRY bit impostato.

Il membro QueryDirectory.InitialQuery viene impostato se Fobx-UnicodeQueryTemplate.Buffer> è NULL e Fobx-Flags> non dispone del set di bit FOBX_FLAG_MATCH_ALL.

In caso di esito positivo, il mini-reindirizzamento di rete deve impostare il membro Info.LengthRemaining della struttura RX_CONTEXT sul membro Info.Length meno la lunghezza delle informazioni sul file restituite. Se la chiamata a MRxQueryFileInfo ha avuto esito positivo, RDBSS imposta il membro IoStatus.Information di IRP su IrpSp-Parameters.QueryFile.Length> meno il membro Info.LengthRemaining di RX_CONTEXT.

RDBSS non supporta le richieste con il bit SL_INDEX_SPECIFIED del set IrpSp-Flags>. Un mini-redirector di rete non riceverà chiamate a MRxQueryFileInfo con il bit SL_INDEX_SPECIFIED del set IrpSp-Flags>.

Requisiti

Piattaforma di destinazione

Desktop

Intestazione

Mrx.h (include Mrx.h)

Vedi anche

MRxIsValidDirectory

MRxQueryDirectory

MRxQueryEaInfo

MRxQueryQuotaInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetFileInfoAtCleanup

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo