- 论坛徽章:
- 0
|
一下是我在一个函数中添加LockVolume()和UnlockVolume()函数的代码,出现以下错误:
D:\Read\read.cpp(25) : error C2065: 'LockVolume' : undeclared identifier
D:\Read\read.cpp(40) : error C2065: 'UnlockVolume' : undeclared identifier
原因是没有找到包涵'LockVolume' 和'UnlockVolume' 的函数,求各位指点。
函数代码:
BOOL WriteSectors(BYTE bDrive, DWORD dwStartSector, WORD wSectors, LPBYTE lpSectBuff)
// 对磁盘扇区数据的写入
{
if (bDrive == 0) return 0;
char devName[] = "\\\\.\\A:";
devName[4] =bDrive; //把磁盘的盘符换成需要写入的盘符bDrive
HANDLE hDev = CreateFile(devName, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
LockVolume(hDev);
if (hDev == INVALID_HANDLE_VALUE) return 0;
SetFilePointer(hDev, 512 * dwStartSector, 0, FILE_BEGIN);
DWORD dwCB;
BOOL bRet;
for(int j=0;j<wSectors;j++) //wSectors需要写入的扇区数
{
bRet = WriteFile(hDev, lpSectBuff, 512, &dwCB, NULL);
printf("\n写入一个扇区!\r\n");
}
UnlockVolume(hDev);
CloseHandle(hDev);
return bRet;
} |
|