CreateFile PhysicalDrive2
- 
					
					
					
					
 Heyho Wollt ein Programm schreiebn, damit ich den MBR auf einen Flash Speicher bearbeiten kann. VOrher wollte ich zum "Üben" erst mal den MBR von meiner HDD auf der Windows 7 ist auslesen. Laut Google und Co. scheint es ja nicht all zu schwer zu sein doch gibt mir folgender Code und sämtliche Beispielcodes aus dem Internet ERROR_FILE_NOT_FOUND für GetLastError() und INVALID_HANDLE_VALUE für CreateFile() zurück. #include <Windows.h> #include <stdio.h> int main(void) { HANDLE hDevice = CreateFileW(L"\\\\.\\PhysicalDrive2", 0, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL); printf("%d\n", hDevice); if (hDevice != INVALID_HANDLE_VALUE) CloseHandle(hDevice); else printf("%d\n", GetLastError()); system("pause"); }Anstatt L"\\\.\\PhysicalDrive2" habe ich auch sämtliche andere Varianten versucht und auch als Administrator ausgeführt. Jemand ne Ahnung was ich falsch mache? p.s: Kanns sein, dass die Suchfunktion kaputt ist? Egal wonach ich suche, es werden nie Beiträge gefunden. 
 
- 
					
					
					
					
 Existiert denn \\.\PhysicalDrive2überhaupt? Die Nummerierung ist wie C-Arrays 0-basiert.
 
- 
					
					
					
					
 Hm ok sehr dummer Fehler^^ 
 Hab irgendwo gelesen, dass 0 für A, 1 für B, 2 für C steht usw. Und da ich Windows auf C installiert habe dachte ich PhysicalDrive2 wär das richtige und dachte auch ich hab PhysicalDrive0 schon versucht >.> Aber die Buchstaben beziehen sich ja auf Partitionen und nicht auf physikalische Festplatten 
 
- 
					
					
					
					
 Bei mir funktioniert das Programm so. Vielleicht musst du den Punkt durch ein ? ersetzen? In the ANSI version of this function, the name is limited to MAX_PATH characters. To extend this limit to 32,767 wide characters, call the Unicode version of the function and prepend "\?\" to the path. 
 --http://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx