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
Fonctions de mappage de fichiers
Fonctions de gestion de la mémoire