Bonjour,

Est-il possible de vider le cache dns en winapi ?

l'equivalent de ipconfig /flushdns

Actuellement mon code fonctionne avec dnsapi.dll mais j'aimerais utilisé dnsapi.lib, en testant le code sur un pc sous windows 7 x64 qui ne possede pas le microsoft sdk, ca ne fonctionne pas.

le code qui fonctionne avec dnsapi.dll.

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
 
typedef int (CALLBACK* DNSFLUSHPROC)();
 
...
 
BOOL			bResult = FALSE;
	HINSTANCE		hDnsDll;
	DNSFLUSHPROC	pDnsFlushProc;
	int				ret;
 
	if (NULL == (hDnsDll = LoadLibrary(TEXT("dnsapi")))) {
		DebugMsg(TEXT("Error in loading dnsapi.dll\n"));
		return FALSE;
	}
 
	if (NULL != (pDnsFlushProc = (DNSFLUSHPROC)GetProcAddress(hDnsDll, "DnsFlushResolverCache"))) {
		ret = (pDnsFlushProc)();
		if (ret == ERROR_SUCCESS) {
			bResult = TRUE;
			DebugMsg(TEXT("Successfully flushed the DNS resolved cache.\n"));
		}
		else {
			DebugMsg(TEXT("Error in excuting DnsFlushResolverCache (%d).\n"), ret);
		}
	}
 
	FreeLibrary(hDnsDll);
	return bResult;
...
Merci de votre aide.