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 |
---|---|
|
Les informations sur le redirecteur réseau ont été correctement retournées 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 file vers lequel pointe 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 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. |
|
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 |