Routine MRxQueryEaInfo

La routine MRxQueryEaInfo viene chiamata da RDBSS per richiedere che le informazioni sull'attributo esteso di un mini-reindirizzamento di rete vengano eseguite su un oggetto file system.

Sintassi

PMRX_CALLDOWN MRxQueryEaInfo;

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

Parametri

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

Valore restituito

MRxQueryEaInfo 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_BUFFER_OVERFLOW

Il buffer per ricevere le informazioni sull'attributo esteso era troppo piccolo.

Questo valore restituito deve essere considerato riuscito e la maggior parte dei dati validi possibile deve essere restituito 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 puntato al parametro RxContext deve essere impostato sulla dimensione minima del buffer previsto per la chiamata.

STATUS_CONNECTION_DISCONNECTED

La connessione è stata disconnessa.

STATUS_EA_CORRUPT_ERROR

Le informazioni sull'attributo esteso non sono state ricevute dal server remoto.

STATUS_INSUFFICIENT_RESOURCES

Per completare la query sono state eseguite risorse insufficienti.

STATUS_INVALID_PARAMETER

È stato specificato un parametro non valido.

STATUS_NONEXISTENT_EA_ENTRY

Non sono presenti attributi estesi nell'oggetto file e l'utente ha fornito un indice di attributo esteso.

STATUS_NOT_SUPPORTED

Gli attributi estesi non sono supportati.

STATUS_ONLY_IF_CONNECTED

La struttura SRV_OPEN non è connessa.

STATUS_REQUEST_ABORTED

La richiesta di rete è stata interrotta.

Commenti

RDBSS genera una chiamata a MRxQueryEaInfo in risposta alla ricezione di una richiesta di IRP_MJ_QUERY_EA .

Prima di chiamare MRxQueryEaInfo, RDBSS modifica i membri seguenti nella struttura RX_CONTEXT puntati dal parametro RxContext :

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.QueryEa.Length>.

Il membro QueryEa.UserEaList è impostato su IrpSp-Parameters.QueryEa.EaList>.

Il membro QueryEa.UserEaListLength è impostato su IrpSp-Parameters.QueryEa.EaListLength>.

Il membro QueryEa.UserEaIndex è impostato su IrpSp-Parameters.QueryEa.EaIndex>.

Il membro QueryEa.RestartScan è impostato su non zero se IrpSp-Flags> ha il bit di SL_RESTART_SCAN.

Il membro QueryEa.ReturnSingleEntry è impostato su non zero se IrpSp-Flags> ha il bit di SL_RETURN_SINGLE_ENTRY.

Il membro QueryEa.IndexSpecified è impostato su non zero se IrpSp-Flags> ha il bit di SL_INDEX_SPECIFIED.

In caso di esito positivo, MRxQueryEaInfo deve impostare il membro Info.LengthRemaining della struttura RX_CONTEXT sulla lunghezza delle informazioni dell'attributo estese restituite e aggiornare anche il membro Fobx-OffsetOfNextEaToReturn>. Se la chiamata a MRxQueryEaInfo ha avuto esito positivo, RDBSS imposta il membro IoStatus.Information dell'IRP su IrpSp-Parameters.QueryEa.Length> meno il membro Info.LengthRemaining di RX_CONTEXT.

Requisiti

Piattaforma di destinazione

Desktop

Intestazione

Mrx.h (include Mrx.h)

Vedi anche

MRxIsValidDirectory

MRxQueryDirectory

MRxQueryFileInfo

MRxQueryQuotaInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetFileInfoAtCleanup

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo