GetMappedFileNameA, fonction (psapi.h)

Vérifie si l’adresse spécifiée se trouve dans un fichier mappé en mémoire dans l’espace d’adressage du processus spécifié. Si c’est le cas, la fonction retourne le nom du fichier mappé en mémoire.

Syntaxe

DWORD GetMappedFileNameA(
  [in]  HANDLE hProcess,
  [in]  LPVOID lpv,
  [out] LPSTR  lpFilename,
  [in]  DWORD  nSize
);

Paramètres

[in] hProcess

Handle du processus. Le handle doit avoir le droit d’accès PROCESS_QUERY_INFORMATION . Pour plus d’informations, consultez Traiter les droits de sécurité et d’accès.

[in] lpv

Adresse à vérifier.

[out] lpFilename

Pointeur vers la mémoire tampon qui reçoit le nom du fichier mappé en mémoire auquel appartient l’adresse spécifiée par lpv .

[in] nSize

Taille de la mémoire tampon lpFilename , en caractères.

Valeur retournée

Si la fonction réussit, la valeur de retour spécifie la longueur de la chaîne copiée dans la mémoire tampon, en caractères.

Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

À compter de Windows 7 et Windows Server 2008 R2, Psapi.h établit les numéros de version pour les fonctions PSAPI. Le numéro de version PSAPI affecte le nom utilisé pour appeler la fonction et la bibliothèque qu’un programme doit charger.

Si PSAPI_VERSION est égal ou supérieur à 2, cette fonction est définie comme K32GetMappedFileName dans Psapi.h et exportée dans Kernel32.lib et Kernel32.dll. Si PSAPI_VERSION a la valeur 1, cette fonction est définie comme GetMappedFileName dans Psapi.h et exportée dans Psapi.lib et Psapi.dll en tant que wrapper qui appelle K32GetMappedFileName.

Les programmes qui doivent s’exécuter sur des versions antérieures de Windows ainsi que sur Windows 7 et versions ultérieures doivent toujours appeler cette fonction getMappedFileName. Pour garantir une résolution correcte des symboles, ajoutez Psapi.lib à la macro TARGETLIBS et compilez le programme avec -DPSAPI_VERSION=1. Pour utiliser la liaison dynamique au moment de l’exécution, chargez Psapi.dll.

Dans Windows Server 2012, cette fonction est prise en charge par les technologies suivantes.

Technologie Prise en charge
Protocole Server Message Block (SMB) 3.0 Oui
Basculement transparent SMB 3.0 (TFO) Oui
SMB 3.0 avec partages de fichiers avec montée en puissance parallèle (SO) Oui
Système de fichiers du volume partagé de cluster (CsvFS) Oui
Système de fichiers résilient (ReFS) Oui
 

Exemples

Pour obtenir un exemple, consultez Obtention d’un nom de fichier à partir d’un handle de fichier.

Notes

L’en-tête psapi.h définit GetMappedFileName comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête psapi.h
Bibliothèque Kernel32.lib sur Windows 7 et Windows Server 2008 R2 ; Psapi.lib (si PSAPI_VERSION=1) sur Windows 7 et Windows Server 2008 R2 ; Psapi.lib sur Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP
DLL Kernel32.dll sur Windows 7 et Windows Server 2008 R2 ; Psapi.dll (si PSAPI_VERSION=1) sur Windows 7 et Windows Server 2008 R2 ; Psapi.dll sur Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP

Voir aussi

EnumProcesses

Informations sur les fichiers mappés en mémoire

Fonctions PSAPI