Bonjour,
J'ai créé un programme sous VC++ 9 (MFC) et lorsque je compile j'ai une erreur avec windows qui me créé un point d'arret (débur et release)

Voici l'erreur

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Windows a déclenché un point d'arrêt dans GestionReseau.exe.
 
Cela peut être dû à une défaillance du tas qui indique un bogue dans GestionReseau.exe ou l'une des DLL chargées.
 
Cela peut également être dû à l'appui sur la touche F12 lorsque GestionReseau.exe a le focus
 
La fenêtre Sortie peut contenir des informations de diagnostic supplémentaires.
L'erreur me renvoie vers cette partie de code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
#ifdef _WIN64
    return HeapAlloc(_crtheap, 0, size ? size : 1);
#else  /* _WIN64 */
    if (__active_heap == __SYSTEM_HEAP) {
        return HeapAlloc(_crtheap, 0, size ? size : 1); //Erreur à cette ligne
    } else
    if ( __active_heap == __V6_HEAP ) {
        if (pvReturn = V6_HeapAlloc(size)) {
            return pvReturn;
        }
    }
Cette partie de code ce trouve dans malloc.c des lib Windows

Je vous transmet aussi mon code, l'erreur se fait à l'execution de la fonction RasSetEntryProperties apartenant à raslib32.lib: (dernières lignes)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
DWORD dwDevInfo = 280 /* 128 */, 
	dwError = 0; 
	TCHAR szError[100]; 
	RASENTRY RasEntry; 
	RASDIALPARAMS RasDialParams; 
 
	// Validate the format of a connection entry name 
	// 
	if (dwError = RasValidateEntryName(NULL, lpszName)) 
	{ 
		wsprintf(szError, _T("Nom de connexion déjà existant ou incorrect : ")_T(" Error %ld"),dwError); 
		MessageBox(NULL,szError,_T("Creation Connexion"),MB_OK | MB_ICONWARNING); 
		return dwError; 
	} 
 
	DWORD dwBufferSize = 0;
	//RasGetEntryProperties(NULL, _T(""), NULL, &dwBufferSize, NULL, NULL) ;
 
	// initialize the RASENTRY structure 
	// 
	memset(&RasEntry,0,sizeof(RASENTRY)); 
 
	DWORD dwSize = sizeof(RasEntry);
 
	// Retrieve the entry properties 
	if (dwError = RasGetEntryProperties(NULL, _T(""), NULL, &dwSize, NULL, NULL))
	{ 
		wsprintf(szError, _T("Unable to read default entry properties.")_T(" Error %ld"),dwError); 
		//MessageBox(NULL,szError,_T("Create Entry"),MB_OK | MB_ICONWARNING); 
		//return dwError; 
	}
 
 
 
	// Fill the RASENTRY structure 
	//
	memset(&RasEntry, 0, dwSize);
	_tcscpy(RasEntry.szLocalPhoneNumber, StringToChar(IP)); 
	_tcscpy(RasEntry.szDeviceType, RASDT_Vpn); 
 
	RasEntry.dwRedialCount = 30000;
	RasEntry.dwRedialPause = 1;
	RasEntry.dwSize = dwSize;
	RasEntry.dwfOptions = RASEO_RequireMsEncryptedPw | RASEO_RequireDataEncryption | RASEO_ModemLights | RASEO_ShowDialingProgress;
	strcpy(RasEntry.szDeviceName,lpszDeviceName);
	RasEntry.dwAlternateOffset=(DWORD) 1; 
	RasEntry.dwfNetProtocols = (DWORD) 4;
	RasEntry.dwFramingProtocol=RASFP_Ppp; 
	RasEntry.dwVpnStrategy=VS_PptpFirst;
 
 
	// Create a new phone-book entry. 
	if (dwError = RasSetEntryProperties(NULL, lpszName, &RasEntry,dwSize, 0, 0))
	{ 
		wsprintf(szError, _T("Unable to create the phone-book entry.")_T(" Error %ld"),dwError); 
		//MessageBox(NULL,szError,_T("Create Entry"),MB_OK | MB_ICONWARNING); 
		//LocalFree(lpDevCfg); 
		//return dwError; 
	}
Merci d'avance