При ассемблировании в MASM10 выдаёт, что в функции FindFirstUrlCacheEntryEx too few arguments to INVOKE В MSDN сказано, что FindFirstUrlCacheEntryEx имеет только 9 параметров. Ошибка MASM? Как исправить? Если просто убрать лишний DWORD в wininet.inc, то выдаёт другую ошибку.
Код (Text): ClearUrlCache proc dwFilter:DWORD LOCAL dwsize:DWORD LOCAL hcache:DWORD LOCAL cacheentry:INTERNET_CACHE_ENTRY_INFO mov dwsize,0 invoke FindFirstUrlCacheEntryEx,0,0,dwFilter,0,0,addr dwsize,0,0,0 .if eax!=0 invoke FindFirstUrlCacheEntryEx,0,0,dwFilter,0,addr cacheentry,addr dwsize,0,0,0 .if eax!=0 mov hcache,eax .while TRUE invoke DeleteUrlCacheEntry,addr cacheentry.lpszSourceUrlName invoke DeleteUrlCacheEntry,addr cacheentry.lpszLocalFileName mov dwsize,0 invoke FindNextUrlCacheEntryEx,hcache,0,addr dwsize,0,0,0 ; Get real size .if eax!=FALSE invoke FindNextUrlCacheEntryEx,hcache,addr cacheentry,addr dwsize,0,0,0 .endif .endw .endif invoke FindCloseUrlCache,hcache .endif xor eax,eax ret ClearUrlCache endp
Блин, первый раз с этим встречаюсь. Так бывает? Я всегда считал, что сколько аргументов указано в MSDN (неважно какого размера) столько и значений(отделённых запятой) передаётся в функции. ???
При чем тут запятые, в мсдн указано кол-во аргументов, а передается кол-во байт. Там один из аргументов имеет размер 8 байт. А ну да, это я верхнем посте имел ввиду кол-во dword'ов конечно..