Partager via


FsRtlMupGetProviderInfoFromFileObject, fonction (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 de 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 de 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 typée ULONG qui contient la taille, en octets, de la mémoire tampon pointée par 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 de retour

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

Retourner le code Description
STATUS_SUCCESS
Les informations sur le redirecteur réseau ont été retournées avec succès 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 de fichier pointé par 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 toutes les 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 pointée par le paramètre pBuffer est trop petite pour retourner toutes les données. Seules les données qui s’intègrent 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 est défini sur 1, la routine FsRtlMupGetProviderInfoFromFileObject retourne une structure FSRTL_MUP_PROVIDER_INFO_LEVEL_1 dans la mémoire tampon pointée par 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 est défini sur 2, la routine FsRtlMupGetProviderInfoFromFileObject retourne une structure FSRTL_MUP_PROVIDER_INFO_LEVEL_2 dans la mémoire tampon pointée par 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é à partir du système, puis rechargé dans le système.

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

Exigences

Exigence Valeur
client minimum pris en charge La fonction FsRtlMupGetProviderInfoFromFileObject est Windows Vista
plateforme cible Universel
d’en-tête ntifs.h (include Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Voir aussi

FsRtlMupGetProviderIdFromName