0

WinXP で mbr の読み取り中に Createfile が失敗する。-1 を返します。INVALID_DEVICE_HANDLE

HANDLE hDisk = CreateFile((LPCWSTR)"\\\\.\\PhysicalDrive0", GENERIC_READ| GENERIC_WRITE, FILE_SHARE_READ| FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0,NULL );

理由は?

4

2 に答える 2

1

文字列定数 "\\.\PhysicalDrive0" に 'L' を追加するのを忘れました。

HANDLE hDisk = CreateFile(L"\\.\PhysicalDrive0", GENERIC_READ | GENERIC_WRITE,
    FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);

これは、Unicode バージョンの API、つまり CreateFileW() を使用している場合にのみ有効です。

于 2012-09-12T17:35:23.100 に答える
0

これを使って:

HANDLE hDisk = CreateFile(L"\\\\.\\PhysicalDrive0", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);

それは私のために働いています。

于 2015-07-07T11:12:13.443 に答える