2016-04-27 7 views
5

chcę uzyskać uchwyt z napędem C:/ .I można uzyskać uchwyt z dysku przez:jak otworzyć partycję za pomocą API CreateFile?

HANDLE hd = CreateFile("\\\\.\\PhysicalDrive0", GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, 0, OPEN_EXISTING, 0, NULL); 

jak uzyskać dostęp do partycji dysku?

kiedy użyć tego kodu:

HANDLE hd = CreateFile("\\.\C", GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, 0, OPEN_EXISTING, 0, NULL); 

i używać GetLastError() kod błędu 123.

ERROR_INVALID_NAME

123 (0x7B)

Nazwa pliku, nazwa katalogu lub składnia etykiety woluminu jest niepoprawna.

Microsoft doc: image

ale nie działa!

z góry dzięki.

Odpowiedz

4

Nazwa, której należy użyć do otwarcia woluminu to C: i upewnij się, że tylne ukośniki są odpowiednio usunięte.

HANDLE hd = CreateFile("\\\\.\\C:", GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, 0, OPEN_EXISTING, 0, NULL); 

Zauważ, że prawdopodobnie będzie się błąd 5 (Odmowa dostępu), chyba że exe jest uruchamiany z uprawnieniami administratora.

+0

nie, nie correct.error 123! –

+0

@mohammadmadani oops, zabrał mi minutę, aby zdać sobie sprawę, że backslashes nie zostały poprawnie usunięte. Odpowiedź zaktualizowana. – Steve

+0

to dziękuję. –

Powiązane problemy