MRxQueryFileInfo-Routine

DieMRxQueryFileInfo-Routine wird von RDBSS aufgerufen, um anzufordern, dass eine Netzwerkminiumleitung Dateiinformationen für ein Dateisystemobjekt abfragt.

Syntax

PMRX_CALLDOWN MRxQueryFileInfo;

NTSTATUS MRxQueryFileInfo(
  _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

MRxQueryFileInfo gibt STATUS_SUCCESS bei 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 Dateiinformationen 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_INSUFFICIENT_RESOURCES

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

STATUS_INVALID_NETWORK_RESPONSE

Vom Remoteserver wurde ein ungültiger Dateiinformationspuffer empfangen.

STATUS_INVALID_PARAMETER

Ein ungültiger Parameter wurde angegeben.

Dieser Wert kann zurückgegeben werden, wenn ein ungültiger Wert für das FileInformationClass-Element im RX_CONTEXT übergeben wird. Dieser Wert kann auch zurückgegeben werden, wenn der angegebene FileInformationClass-Member für FileStreamInformation ist und das Remotedateisystem keine Streams unterstützt.

STATUS_OBJECT_NAME_NOT_FOUND

Der Objektname wurde nicht gefunden. Dies ist ein Fehlercode.

Hinweise

RDBSS stellt einen Aufruf von MRxQueryFileInfo als Reaktion auf den Empfang einer IRP_MJ_QUERY_INFORMATION-Anforderung aus.

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

Das Info.FileInformationClass-Element ist auf IrpSp-Parameters.QueryFile.FileInformationClass> festgelegt, der angeforderte FILE_INFORMATION_CLASS Wert.

Das Info.Buffer-Element ist auf den Benutzerpuffer aus dem E/A-Anforderungspaket festgelegt.

Der Info.LengthRemaining-Member ist auf IrpSp-Parameters.QueryFile.Length> festgelegt.

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

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

Der QueryDirectory.ReturnSingleEntry-Member wird festgelegt, wenn IrpSp-Flags> SL_RETURN_SINGLE_ENTRY Bit festgelegt hat.

Das QueryDirectory.InitialQuery-Element wird festgelegt, wenn Fobx-UnicodeQueryTemplate.Buffer>NULL ist und Fobx-Flags> nicht das FOBX_FLAG_MATCH_ALL Bit festgelegt ist.

Bei Erfolg sollte der Netzwerkminiumleitungsor den Info.LengthRemaining-Member der RX_CONTEXT-Struktur auf Info.Length-Member abzüglich der Länge der zurückgegebenen Dateiinformationen festlegen. Wenn der Aufruf von MRxQueryFileInfo erfolgreich war, legt RDBSS das IoStatus.Information-Element des IRP auf IrpSp-Parameters.QueryFile.Length> abzüglich des Info.LengthRemaining-Members von RX_CONTEXT fest.

RDBSS unterstützt keine Anforderungen mit dem SL_INDEX_SPECIFIED Bit des IrpSp-Flags-Sets>. Ein Netzwerkminiumleitungsor empfängt keine Aufrufe von MRxQueryFileInfo, wobei das SL_INDEX_SPECIFIED Bit von IrpSp-Flags> festgelegt ist.

Anforderungen

Zielplattform

Desktop

Header

Mrx.h (einschließlich Mrx.h)

Weitere Informationen

MRxIsValidDirectory

MRxQueryDirectory

MRxQueryEaInfo

MRxQueryQuotaInfo

MRxQuerySdInfo

MRxQueryVolumeInfo

MRxSetEaInfo

MRxSetFileInfo

MRxSetFileInfoAtCleanup

MRxSetQuotaInfo

MRxSetSdInfo

MRxSetVolumeInfo