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