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