MRxQueryDirectory-Routine

Die MRxQueryDirectory-Routine wird von RDBSS aufgerufen, um anzufordern, dass eine Netzwerk-Miniumleitung Informationen zu einem Dateiverzeichnis abfragt.

Syntax

PMRX_CALLDOWN MRxQueryDirectory;

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

Parameter

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

Rückgabewert

MRxQueryDirectory gibt STATUS_SUCCESS nach Erfolg oder einen geeigneten 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_INSUFFICIENT_RESOURCES

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

STATUS_INVALID_NETWORK_RESPONSE

Vom Remoteserver wurde ein ungültiger Dateiinformationspuffer empfangen, oder eine zurückgegebene Dateinamenlänge überschreitet die maximal zulässige Länge.

STATUS_INVALID_PARAMETER

Eine ungültige FileInformationClass wurde im Info.FileInformationClass-Member in der RX_CONTEXT-Struktur angegeben, auf die der RxContext-Parameter verweist.

STATUS_LINK_FAILED

Fehler beim Versuch, erneut eine Verbindung mit einem Remoteserver herzustellen, um die Abfrage abzuschließen.

STATUS_NO_SUCH_FILE

Die Abfrage konnte keine Einträge finden.

STATUS_SHARING_VIOLATION

Ein Verstoß gegen die Freigabe ist aufgetreten.

Hinweise

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

Das Info.FileInformationClass-Element ist auf IrpSp-Parameters.QueryDirectory.FileInformationClass> festgelegt.

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

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

Das QueryDirectory.FileIndex-Element ist auf IrpSp-Parameters.QueryDirectory.FileIndex> festgelegt.

Das QueryDirectory.RestartScan-Element wird auf ungleich null festgelegt, wenn IrpSp-Flags> das SL_RESTART_SCAN Bit aktiviert hat.

Das QueryDirectory.ReturnSingleEntry-Element ist auf ungleich null festgelegt, wenn IrpSp-Flags> das SL_RETURN_SINGLE_ENTRY Bit aktiviert hat.

Das QueryDirectory.IndexSpecified-Element wird auf ungleich null festgelegt, wenn IrpSp-Flags> das SL_INDEX_SPECIFIED Bit aktiviert hat.

Das QueryDirectory.InitialQuery-Element wird auf ungleich null festgelegt, wenn der UnicodeQueryTemplate.Buffer-Member des zugeordneten FOBX-Elements NULL ist und das Flags-Element des FOBX nicht das FOBX_FLAG_MATCH_ALL Bit aktiviert hat.

Für eine wild Karte Abfrage ("*.*", z. B.), legt RDBSS den UnicodeQueryTemplate.Buffer-Member des zugeordneten FOBX auf die wild Karte übergebenen Abfrage fest.

Wenn der PostRequest-Member der RX_CONTEXT-Struktur bei der Rückgabe von MRxQueryDirectoryTRUE ist, ruft RDBSS RxFsdPostRequest auf und übergibt die RX_CONTEXT-Struktur an eine Workerwarteschlange zur Verarbeitung durch den Dateisystemprozess (File System Process, FSP).

Anforderungen

Zielplattform

Desktop

Header

Mrx.h (einschließlich Mrx.h)

Weitere Informationen

MRxIsValidDirectory

MRxQueryEaInfo

MRxQueryFileInfo

MRxQueryQuotaInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetFileInfoAtCleanup

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo

RxFsdPostRequest