ReadFile liest nicht mehr als 668 bytes (998 - ERROR_NOACCESS)
- 
					
					
					
					
 Ich möchte eine Textur mit einem sehr simplen Format aus einer Datei lesen. 
 Das öffnen dieser Datei mitHANDLE f = CreateFile(file, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);funktioniert. Dann lese ich 2x4 bytes für die Breite und Höhe aus. Mit unsigned char* rgbadata = (unsigned char*)malloc(size.cx * size.cy * 4);Reserviere ich ein Array für die Texturdaten. Als nächstes lese ich per DWORD read; ReadFile(f, &rgbadata, size.cx * size.cy * 4, &read, NULL);die Daten ein. Allerdings wird solange die Anzahl der Bytes die gelesen werden soll über 668 Bytes liegt nichts gelesen und GetLastError gibt 998 (ERROR_NOACCESS) zurück. Jemand eine Idee, wieso das so ist und/oder wie ich das umgehen kann? 
 
- 
					
					
					
					
 Du sollst einen Zeiger auf Deinen Lese-Puffer im zweiten Parameter übergeben. Du übergibst aber einen Zeiger auf den Zeiger auf den Lese-Puffer. Probiere es mal so: DWORD read; ReadFile(f, rgbadata, size.cx * size.cy * 4, &read, NULL);
 
- 
					
					
					
					
 lol 
 Wie ein Zeichen ein ganzes Programm kaputtmacht, und den Programmierer stundenlang suchen und verzweifeln lässt.
 Danke x1000
 
- 
					
					
					
					
 Kann geschlossen werden 
 
- 
					
					
					
					
 openglfreak schrieb: lol 
 Wie ein Zeichen ein ganzes Programm kaputtmacht, und den Programmierer stundenlang suchen und verzweifeln lässt.
 Danke x1000Du solltest auf die Warnungen deines Compilers achten! 
 
- 
					
					
					
					
 Der Compiler (MinGW-w64 gcc) hat mir keine Warnung ausgegeben 
 
- 
					
					
					
					
 openglfreak schrieb: Der Compiler (MinGW-w64 gcc) hat mir keine Warnung ausgegeben Auch nicht mit -Wall -Wextra?