2016-04-27 2 views
5

Я хочу, чтобы справиться с диска C:/ .I может получить справиться с диска по:как открыть раздел с помощью API CreateFile?

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

как получить доступ раздел диска?

при использовании этого кода:

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

и используйте GetLastError) код ошибки (это 123.

ERROR_INVALID_NAME

123 (0x7B)

Имя файла, имя каталога , или синтаксис метки тома.

от Microsoft документ: image

но не работает!

благодарит заранее.

ответ

4

Имя, которое вы должны использовать для открытия тома, равно C: и убедитесь, что обратные слэши экранированы соответствующим образом.

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

Обратите внимание, что вы, вероятно, получите ошибку 5 (отказано в доступе), если ехе не бежится с правами администратора.

+0

нет, не правильный.error 123! –

+0

@mohammadmadani oops, взял меня на минуту, чтобы понять, что обратная косая черта не сбежала должным образом. Ответ обновлен. – Steve

+0

it work.thanks много –

Смежные вопросы