Partager via


Fonction FsRtlMupGetProviderInfoFromFileObject (ntifs.h)

La routine FsRtlMupGetProviderInfoFromFileObject obtient des informations sur un redirecteur réseau inscrit auprès de plusieurs fournisseurs UNC (MUP) à partir d’un objet fichier pour un fichier situé sur un système de fichiers distant.

Syntaxe

NTSTATUS FsRtlMupGetProviderInfoFromFileObject(
  [in]      PFILE_OBJECT pFileObject,
  [in]      ULONG        Level,
  [out]     PVOID        pBuffer,
  [in, out] PULONG       pBufferSize
);

Paramètres

[in] pFileObject

Pointeur vers un objet fichier d’un fichier situé sur un système de fichiers distant.

[in] Level

Niveau d’informations retourné par la routine FsRtlMupGetProviderInfoFromFileObject . Pour plus d’informations sur les valeurs possibles pour ce paramètre, consultez la section Remarques.

[out] pBuffer

Pointeur vers une mémoire tampon qui reçoit les informations retournées par la routine FsRtlMupGetProviderInfoFromFileObject . Pour plus d’informations sur le format des données retournées dans cette mémoire tampon, consultez la section Remarques.

[in, out] pBufferSize

Pointeur vers une variable de type ULONG qui contient la taille, en octets, de la mémoire tampon vers laquelle pointe le paramètre pBuffer . Si la routine réussit, cette variable reçoit la taille, en octets, des données retournées dans la mémoire tampon.

Valeur retournée

La routine FsRtlMupGetProviderInfoFromFileObject retourne l’une des valeurs NTSTATUS suivantes.

Code de retour Description
STATUS_SUCCESS
Les informations sur le redirecteur réseau ont été correctement retournées dans la mémoire tampon pointée par le paramètre pBuffer .
STATUS_INVALID_PARAMETER
L’un des paramètres était NULL ou contenait une valeur non valide.
STATUS_OBJECT_NAME_NOT_FOUND
L’objet file vers lequel pointe le paramètre pFileObject ne correspond pas à un objet de fichier de système de fichiers distant complètement ouvert.
STATUS_BUFFER_TOO_SMALL
La taille de la mémoire tampon pointée par le paramètre pBuffer est trop petite pour retourner des données. Dans ce cas, la variable pointée par le paramètre pBufferSize reçoit la taille requise, en octets, de la mémoire tampon.
STATUS_BUFFER_OVERFLOW
La taille de la mémoire tampon vers laquelle pointe le paramètre pBuffer est trop petite pour retourner toutes les données. Seules les données qui tiennent dans la mémoire tampon ont été retournées. Dans ce cas, la variable pointée par le paramètre pBufferSize reçoit la taille requise, en octets, de la mémoire tampon.

Remarques

Un pilote de filtre de système de fichiers peut appeler la routine FsRtlMupGetProviderInfoFromFileObject pour obtenir des informations sur un redirecteur réseau à partir d’un objet de fichier pour un fichier situé sur un système de fichiers distant. La quantité d’informations retournées par la routine FsRtlMupGetProviderInfoFromFileObject dépend de la valeur du paramètre Level . Si le paramètre Level a la valeur 1, la routine FsRtlMupGetProviderInfoFromFileObject retourne une structure FSRTL_MUP_PROVIDER_INFO_LEVEL_1 dans la mémoire tampon vers laquelle pointe le paramètre pBuffer . La structure FSRTL_MUP_PROVIDER_INFO_LEVEL_1 est définie comme suit :

typedef struct _FSRTL_MUP_PROVIDER_INFO_LEVEL_1 {
  ULONG32  ProviderId;
} FSRTL_MUP_PROVIDER_INFO_LEVEL_1, *PFSRTL_MUP_PROVIDER_INFO_LEVEL_1;

Si le paramètre Level a la valeur 2, la routine FsRtlMupGetProviderInfoFromFileObject retourne une structure FSRTL_MUP_PROVIDER_INFO_LEVEL_2 dans la mémoire tampon vers laquelle pointe le paramètre pBuffer . La structure FSRTL_MUP_PROVIDER_INFO_LEVEL_2 est définie comme suit :

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;

Un pilote de filtre de système de fichiers peut rapidement comparer la valeur de l’identificateur de fournisseur à la valeur d’autres identificateurs de fournisseur sans avoir à effectuer une comparaison de chaînes.

La valeur de l’identificateur du fournisseur UNC pour un redirecteur réseau particulier reste la même si le redirecteur réseau est déchargé du système, puis rechargé dans le système.

Pour obtenir l’identificateur de fournisseur UNC d’un redirecteur réseau à partir du nom de périphérique du redirecteur réseau, un pilote de filtre de système de fichiers peut appeler la routine FsRtlMupGetProviderIdFromName .

Configuration requise

Condition requise Valeur
Client minimal pris en charge La fonction FsRtlMupGetProviderInfoFromFileObject est Windows Vista
Plateforme cible Universal
En-tête ntifs.h (include Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Voir aussi

FsRtlMupGetProviderIdFromName