FsRtlMupGetProviderInfoFromFileObject-Funktion (ntifs.h)
Die FsRtlMupGetProviderInfoFromFileObject Routine ruft Informationen zu einem Netzwerkumleitungsmodul ab, das mit dem mehrfachen UNC-Anbieter (MUP) aus einem Dateiobjekt für eine Datei registriert ist, die sich auf einem Remotedateisystem befindet.
Syntax
NTSTATUS FsRtlMupGetProviderInfoFromFileObject(
[in] PFILE_OBJECT pFileObject,
[in] ULONG Level,
[out] PVOID pBuffer,
[in, out] PULONG pBufferSize
);
Parameter
[in] pFileObject
Ein Zeiger auf ein Dateiobjekt einer Datei, die sich auf einem Remotedateisystem befindet.
[in] Level
Die Informationsebene, die von der FsRtlMupGetProviderInfoFromFileObject Routine zurückgegeben wird. Weitere Informationen zu den möglichen Werten für diesen Parameter finden Sie im Abschnitt "Hinweise".
[out] pBuffer
Ein Zeiger auf einen Puffer, der die Informationen empfängt, die von der FsRtlMupGetProviderInfoFromFileObject Routine zurückgegeben werden. Weitere Informationen zum Format der in diesem Puffer zurückgegebenen Daten finden Sie im Abschnitt "Hinweise".
[in, out] pBufferSize
Ein Zeiger auf eine ULONG-Typvariable, die die Größe des Puffers in Byte enthält, auf den der pBuffer-Parameter verweist. Wenn die Routine erfolgreich ist, empfängt diese Variable die Größe von Daten, die im Puffer zurückgegeben werden, in Byte.
Rückgabewert
Die FsRtlMupGetProviderInfoFromFileObject Routine gibt einen der folgenden NTSTATUS-Werte zurück.
Rückgabecode | Beschreibung |
---|---|
|
Die Informationen zum Netzwerkumleitungsmodul wurden erfolgreich im Puffer zurückgegeben, auf den der pBuffer -Parameter verweist. |
|
Einer der Parameter war NULL- oder enthielt einen ungültigen Wert. |
|
Das Dateiobjekt, auf das vom pFileObject -Parameter verwiesen wird, entspricht nicht einem vollständig geöffneten Dateisystemdateiobjekt. |
|
Die Größe des Puffers, auf den der pBuffer Parameter verweist, ist zu klein, um Daten zurückzugeben. In diesem Fall erhält die Variable, auf die durch die pBufferSize Parameter verwiesen wird, die erforderliche Größe des Puffers in Byte. |
|
Die Größe des Puffers, auf den der pBuffer Parameter verweist, ist zu klein, um alle Daten zurückzugeben. Nur die Daten, die in den Puffer passen, wurden zurückgegeben. In diesem Fall erhält die Variable, auf die durch die pBufferSize Parameter verwiesen wird, die erforderliche Größe des Puffers in Byte. |
Bemerkungen
Ein Dateisystemfiltertreiber kann die FsRtlMupGetProviderInfoFromFileObject Routine aufrufen, um Informationen zu einem Netzwerkumleitungsmodul aus einem Dateiobjekt für eine Datei abzurufen, die sich auf einem Remotedateisystem befindet. Die Menge der Informationen, die von der FsRtlMupGetProviderInfoFromFileObject Routine zurückgegeben werden, hängt vom Wert des parameters Level ab. Wenn der parameter Level auf 1 festgelegt ist, gibt die FsRtlMupGetProviderInfoFromFileObject Routine eine FSRTL_MUP_PROVIDER_INFO_LEVEL_1 Struktur im Puffer zurück, auf die vom pBuffer -Parameter verwiesen wird. Die FSRTL_MUP_PROVIDER_INFO_LEVEL_1 Struktur ist wie folgt definiert:
typedef struct _FSRTL_MUP_PROVIDER_INFO_LEVEL_1 {
ULONG32 ProviderId;
} FSRTL_MUP_PROVIDER_INFO_LEVEL_1, *PFSRTL_MUP_PROVIDER_INFO_LEVEL_1;
Wenn der parameter Level auf 2 festgelegt ist, gibt die FsRtlMupGetProviderInfoFromFileObject Routine eine FSRTL_MUP_PROVIDER_INFO_LEVEL_2 Struktur im Puffer zurück, auf die vom pBuffer Parameter verwiesen wird. Die FSRTL_MUP_PROVIDER_INFO_LEVEL_2-Struktur ist wie folgt definiert:
typedef struct _FSRTL_MUP_PROVIDER_INFO_LEVEL_2 {
ULONG32 ProviderId;
UNICODE_STRING ProviderName;
} FSRTL_MUP_PROVIDER_INFO_LEVEL_2, *PFSRTL_MUP_PROVIDER_INFO_LEVEL_2;
Ein Dateisystemfiltertreiber kann den Wert des Anbieterbezeichners schnell mit dem Wert anderer Anbieterbezeichner vergleichen, ohne einen Zeichenfolgenvergleich durchführen zu müssen.
Der Wert des UNC-Anbieterbezeichners für einen bestimmten Netzwerkumleitungsanbieter bleibt gleich, wenn der Netzwerkumleitungsmodul aus dem System entladen und dann wieder in das System geladen wird.
Um den UNC-Anbieterbezeichner eines Netzwerkumleitungs aus dem Gerätenamen des Netzwerkumleitungs abzurufen, kann ein Dateisystemfiltertreiber den FsRtlMupGetProviderIdFromName Routine aufrufen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Die FsRtlMupGetProviderInfoFromFileObject-Funktion ist Windows Vista |
Zielplattform- | Universal |
Header- | ntifs.h (einschließlich Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | <= APC_LEVEL |