OpenFileMappingA, fonction (winbase.h)

Ouvre un objet de mappage de fichiers nommé.

Syntaxe

HANDLE OpenFileMappingA(
  [in] DWORD  dwDesiredAccess,
  [in] BOOL   bInheritHandle,
  [in] LPCSTR lpName
);

Paramètres

[in] dwDesiredAccess

Accès à l’objet de mappage de fichiers. Cet accès est vérifié par rapport à n’importe quel descripteur de sécurité sur l’objet de mappage de fichier cible. Pour obtenir la liste des valeurs, consultez Sécurité et droits d’accès du mappage de fichiers.

[in] bInheritHandle

Si ce paramètre a la valeur TRUE, un processus créé par la fonction CreateProcess peut hériter du handle ; sinon, le handle ne peut pas être hérité.

[in] lpName

Nom de l’objet de mappage de fichiers à ouvrir. S’il existe un handle ouvert à un objet de mappage de fichiers de ce nom et que le descripteur de sécurité sur l’objet de mappage n’est pas en conflit avec le paramètre dwDesiredAccess , l’opération d’ouverture réussit. Le nom peut avoir un préfixe « Global\ » ou « Local\ » pour ouvrir explicitement un objet dans l’espace de noms global ou de session. Le reste du nom peut contenir n’importe quel caractère à l’exception de la barre oblique inverse (\). Pour plus d’informations, consultez Espaces de noms d’objets du noyau. La commutation rapide des utilisateurs est implémentée à l’aide de sessions Terminal Services. Le premier utilisateur à se connecter utilise la session 0, l’utilisateur suivant pour se connecter utilise la session 1, et ainsi de suite. Les noms d’objets de noyau doivent suivre les instructions décrites pour Terminal Services afin que les applications puissent prendre en charge plusieurs utilisateurs.

Valeur retournée

Si la fonction réussit, la valeur de retour est un handle ouvert pour l’objet de mappage de fichiers spécifié.

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

Remarques

Le handle retourné par OpenFileMapping peut être utilisé avec n’importe quelle fonction qui nécessite un handle pour un objet de mappage de fichiers.

Lors de la modification d’un fichier via une vue mappée, l’horodatage de la dernière modification peut ne pas être mis à jour automatiquement. Si nécessaire, l’appelant doit utiliser SetFileTime pour définir l’horodatage.

Lorsqu’il n’est plus nécessaire, l’appelant doit appeler libérer le handle retourné par OpenFileMapping avec un appel à CloseHandle.

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 Création de mémoire partagée nommée.

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 winbase.h (inclure Windows.h, Memoryapi.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

CreateFileMapping

Fonctions de mappage de fichiers

Fonctions de gestion de la mémoire

Partage de fichiers et de mémoire