MRxQueryEaInfo-Routine

Die MRxQueryEaInfo-Routine wird von RDBSS aufgerufen, um anzufordern, dass ein Netzwerk-Mini-Redirector erweiterte Attributinformationen für ein Dateisystemobjekt abfragt.

Syntax

PMRX_CALLDOWN MRxQueryEaInfo;

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

Parameter

RxContext [ein, aus]
Ein Zeiger auf die RX_CONTEXT-Struktur. Dieser Parameter enthält die IRP, die den Vorgang anfordert.

Rückgabewert

MRxQueryEaInfo gibt STATUS_SUCCESS nach Erfolg oder einen entsprechenden NTSTATUS-Wert zurück, z. B. einen der folgenden:

Rückgabecode Beschreibung
STATUS_ACCESS_DENIED

Dem Aufrufer fehlte die richtige Sicherheit für diesen Vorgang.

STATUS_BUFFER_OVERFLOW

Der Puffer zum Empfangen der erweiterten Attributinformationen war zu klein.

Dieser Rückgabewert sollte als erfolgreich betrachtet werden, und so viele gültige Daten wie möglich sollten im Info.Buffer-Member der RX_CONTEXT Struktur zurückgegeben werden, auf die der RxContext-Parameter verweist.

STATUS_BUFFER_TOO_SMALL

Der Puffer ist zu klein, um die angeforderten Daten zu empfangen.

Wenn dieser Wert zurückgegeben wird, sollte das InformationToReturn-Element der RX_CONTEXT Struktur, auf die der RxContext-Parameter verweist, auf die Mindestgröße des erwarteten Puffers festgelegt werden, damit der Aufruf erfolgreich ist.

STATUS_CONNECTION_DISCONNECTED

Die Verbindung wurde getrennt.

STATUS_EA_CORRUPT_ERROR

Vom Remoteserver wurden ungültige erweiterte Attributinformationen empfangen.

STATUS_INSUFFICIENT_RESOURCES

Es waren nicht genügend Ressourcen vorhanden, um die Abfrage abzuschließen.

STATUS_INVALID_PARAMETER

Ein ungültiger Parameter wurde angegeben.

STATUS_NONEXISTENT_EA_ENTRY

Es gibt keine erweiterten Attribute für das Dateiobjekt, und der Benutzer hat einen erweiterten Attributindex angegeben.

STATUS_NOT_SUPPORTED

Erweiterte Attribute werden nicht unterstützt.

STATUS_ONLY_IF_CONNECTED

Die SRV_OPEN-Struktur ist nicht verbunden.

STATUS_REQUEST_ABORTED

Die Netzwerkanforderung wurde abgebrochen.

Hinweise

RDBSS gibt einen Aufruf von MRxQueryEaInfo als Reaktion auf den Empfang einer IRP_MJ_QUERY_EA-Anforderung aus.

Vor dem Aufrufen von MRxQueryEaInfo ändert RDBSS die folgenden Member in der RX_CONTEXT Struktur, auf die der RxContext-Parameter verweist:

Das Info.Buffer-Element ist auf den Benutzerpuffer aus E/A-Anforderungspaket festgelegt. Dieser Puffer wurde bei Bedarf bereits von RDBSS gesperrt.

Das Info.LengthRemaining-Element ist auf IrpSp-Parameters.QueryEa.Length> festgelegt.

Das QueryEa.UserEaList-Element ist auf IrpSp-Parameters.QueryEa.EaList> festgelegt.

Das QueryEa.UserEaListLength-Element ist auf IrpSp-Parameters.QueryEa.EaListLength> festgelegt.

Das QueryEa.UserEaIndex-Element ist auf IrpSp-Parameters.QueryEa.EaIndex> festgelegt.

Das QueryEa.RestartScan-Element ist auf nonzero festgelegt, wenn IrpSp-Flags> das SL_RESTART_SCAN Bit aktiviert hat.

Der QueryEa.ReturnSingleEntry-Member ist auf nonzero festgelegt, wenn IrpSp-Flags> das SL_RETURN_SINGLE_ENTRY Bit aktiviert hat.

Der QueryEa.IndexSpecified-Member ist auf nonzero festgelegt, wenn IrpSp-Flags> das SL_INDEX_SPECIFIED Bit aktiviert hat.

Bei Erfolg sollte MRxQueryEaInfo den Info.LengthRemaining-Member der RX_CONTEXT Struktur auf die Länge der zurückgegebenen erweiterten Attributinformationen festlegen und auch das Fobx-OffsetOfNextEaToReturn-Element> aktualisieren. Wenn der Aufruf von MRxQueryEaInfo erfolgreich war, legt RDBSS das IoStatus.Information-Element des IRP auf IrpSp-Parameters.QueryEa.Length abzüglich des Info.LengthRemaining-Members> von RX_CONTEXT fest.

Anforderungen

Zielplattform

Desktop

Header

Mrx.h (einschließlich Mrx.h)

Weitere Informationen

MRxIsValidDirectory

MRxQueryDirectory

MRxQueryFileInfo

MRxQueryQuotaInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetFileInfoAtCleanup

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo