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 |
---|---|
|
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 . |
|
L’un des paramètres était NULL ou contenait une valeur non valide. |
|
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. |
|
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. |
|
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
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
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 |