Partager via


Fonction EngMapFile (winddi.h)

La fonction EngMapFile crée ou ouvre un fichier et le mappe dans l’espace système.

Syntaxe

ENGAPI PVOID EngMapFile(
  [in]  LPWSTR    pwsz,
  [in]  ULONG     cjSize,
  [out] ULONG_PTR *piFile
);

Paramètres

[in] pwsz

Pointeur vers une chaîne terminée par null qui contient le nom complet du fichier à mapper. Un exemple de chaîne de nom de fichier complet est L"\ ?? \c :\test.dat ».

[in] cjSize

Spécifie le nombre d’octets du fichier à mapper.

[out] piFile

Pointeur vers un emplacement de mémoire qui reçoit un identificateur pour le fichier mappé, à condition que le mappage ait réussi. Si le mappage n’a pas réussi, l’emplacement de la mémoire reçoit la valeur zéro. Lorsque le fichier mappé doit être libéré, cette valeur doit être passée à EngUnmapFile.

Valeur retournée

EngMapFile retourne un pointeur vers la vue mappée du fichier s’il réussit. Sinon, elle retourne NULL.

Remarques

Si le fichier existe déjà, EngMapFile s’ouvre et le mappe en lecture-écriture. Si le fichier n’existe pas, EngMapFile le crée et le mappe pour la lecture/écriture.

La valeur de cjSize affecte le mappage du fichier comme suit :

  • Lorsque cjSize est égal à zéro, GDI mappe le fichier dans son intégralité.
  • Lorsque cjSize est supérieur à la taille du fichier, GDI étend le fichier en octets cjSize avant de le mapper dans la mémoire système. Aucune hypothèse ne doit être faite concernant le contenu de la mémoire qui dépasse la taille d’origine du fichier.
  • Lorsque cjSize est inférieur à la taille du fichier, GDI tronque le fichier pour qu’il soit de taille cjSize avant de le mapper à la mémoire système.
Un pilote peut lire et écrire dans le fichier via le pointeur retourné.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows 2000 et versions ultérieures des systèmes d’exploitation Windows.
Plateforme cible Universal
En-tête winddi.h (inclure Winddi.h)
Bibliothèque Win32k.lib
DLL Win32k.sys

Voir aussi

EngDeleteFile

EngUnmapFile