Mijn programma crasht na 65535 aanroepen van LocalLock.
Beter gezegd: na 65535 aanroepen van LocalLock geeft hij 0 terug.
En crasht mijn programma dus als ik de resultaten van die functie wil gebruiken.
De code na verwijdering van onzinnige weggecommentariëerde meuk
Het laatste stukje van de console:
Voor de duidelijkheid:
dat eerste getal is het adres dat de LocalLock teruggaf.
het tweede getal is het iteratienummer.
De aangeroepen functie geeft een pointer naar een struct terug.
Dit ter informatie al denk ik dat het er niets mee te maken heeft want zonder LocalLock kan ik de functie wel vaker aanroepen alleen kan ik dan de resultaten niet uitlezen
Heeft iemand enig idee?
Beter gezegd: na 65535 aanroepen van LocalLock geeft hij 0 terug.
En crasht mijn programma dus als ik de resultaten van die functie wil gebruiken.
De code na verwijdering van onzinnige weggecommentariëerde meuk
C:
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
| typedef char* LPSTR; _declspec(dllexport) HANDLE WINAPI _GetInfo(); int main(int args, char *argv[]) { int n; for (n=0;n<65540;n++) { readinfo(); printf("%d\n", n+1); } return 0; } readinfo() { LPSTR lpBuf; lpBuf = NULL; lpBuf = LocalLock(_GetInfo()); printf("%d - ", lpBuf); LocalUnlock(lpBuf); LocalFree(lpBuf); return NULL; } |
Het laatste stukje van de console:
code:
1
2
3
4
5
6
7
8
9
10
| 2326704 - 65531 2326704 - 65532 2326704 - 65533 2326704 - 65534 2326704 - 65535 0 - 65536 0 - 65537 0 - 65538 0 - 65539 0 - 65540 |
Voor de duidelijkheid:
dat eerste getal is het adres dat de LocalLock teruggaf.
het tweede getal is het iteratienummer.
De aangeroepen functie geeft een pointer naar een struct terug.
Dit ter informatie al denk ik dat het er niets mee te maken heeft want zonder LocalLock kan ik de functie wel vaker aanroepen alleen kan ik dan de resultaten niet uitlezen
Heeft iemand enig idee?
Look for the signal in your life, not the noise.
Canon R6 | RF 24-70 f/2.8 L | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8