cs_aymen87
Messages postés109Date d'inscriptionsamedi 3 novembre 2007StatutMembreDernière intervention 4 février 2016
-
23 mars 2011 à 14:37
cs_aymen87
Messages postés109Date d'inscriptionsamedi 3 novembre 2007StatutMembreDernière intervention 4 février 2016
-
25 mars 2011 à 14:38
Bonjour
Je veux partager une ressource entre deux processus, j'ai eu recours au file mapping.
Dans ma machine,ca fonctionne à merveille mais quand je copie le .exe dans une autre machine l'objet file Mapping ne se cré pas voila un bout de mon code
int MapFile()
{
HANDLE hMapFile;
LPCTSTR pBuf;
hMapFile = CreateFileMapping(
INVALID_HANDLE_VALUE, // use paging file
NULL, // default security
PAGE_READWRITE, // read/write access
0, // maximum object size (high-order DWORD)
MAX_BUFFER_RECEIVED_LENGTH, // maximum object size (low-order DWORD)
szName); // name of mapping object
if (hMapFile == NULL)
{
printf("Could not create file mapping object (%d).\n",GetLastError());
return 1;
}
...
le log Could not create file mapping object (5) s'affiche.
cs_Lucky92
Messages postés180Date d'inscriptionmercredi 22 décembre 2004StatutMembreDernière intervention16 août 20122 25 mars 2011 à 14:08
Salut,
En lisant la documentation, j'ai l'impression qu'il y a des conditions particulières pour utiliser le namespace "Global". Je te conseille d'utiliser un nom de fichier simple sans namespace, à moins que tu n'utilises un "Terminal server".
cs_Lucky92
Messages postés180Date d'inscriptionmercredi 22 décembre 2004StatutMembreDernière intervention16 août 20122 24 mars 2011 à 19:40
Salut,
Comme l'indique le code d'erreur retourné (5), il y a un ERROR_ACCESS_DENIED (cf le lien suivant).
Vérifie que le chemin contenu dans "szName" est correcte, qu'il existe sur la machine, que tu as les droits en écriture, etc.
cs_aymen87
Messages postés109Date d'inscriptionsamedi 3 novembre 2007StatutMembreDernière intervention 4 février 2016 25 mars 2011 à 14:38
Merci, t'as tout à fait raison en fait, je crois que ca fonctionne pas sous windows 7, je l'ai testé sous windows server 2008 et ca fonctionne sans aucun problème.