在Wondows中怎么对U盘进行绝对扇区的读写,写MBR那种级别的

在Wondows中如何对U盘进行绝对扇区的读写,写MBR那种级别的
想写个U盘的启动盘,但是不知道怎么写绝对扇区
用CreateFile打开U盘的盘符进行读写只能从引导扇区,即BPB区开始读写,而前面的MBR分区是看不到
网上很多读写U盘绝对扇区的都是单片机上的汇编代码
请问在Windows应该如何操作,才能读写U盘的MBR

------解决方案--------------------
BOOL WriteSectors(BYTE bDrive, DWORD dwStartSector, WORD wSectors, LPBYTE lpSectBuff) 
// 对磁盘扇区数据的写入
{
 if (bDrive == 0) return 0;
 char devName[] = "\\\\.\\A:";
 devName[4] ='A' + bDrive - 1;
 HANDLE hDev = CreateFile(devName, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
 if (hDev == INVALID_HANDLE_VALUE) return 0;
 SetFilePointer(hDev, 512 * dwStartSector, 0, FILE_BEGIN);
 DWORD dwCB;
 BOOL bRet = WriteFile(hDev, lpSectBuff, 512 * wSectors, &dwCB, NULL);
 CloseHandle(hDev);
 return bRet;
}
BOOL ReadSectors(BYTE bDrive, DWORD dwStartSector, WORD wSectors, LPBYTE lpSectBuff)
// 对磁盘扇区数据的读取
{
 if (bDrive == 0) return 0;
 char devName[] = "\\\\.\\A:";
 devName[4] ='A' + bDrive - 1;
 HANDLE hDev = CreateFile(devName, GENERIC_READ, FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
 if (hDev == INVALID_HANDLE_VALUE) return 0;
 SetFilePointer(hDev, 512 * dwStartSector, 0, FILE_BEGIN);
 DWORD dwCB;
 BOOL bRet = ReadFile(hDev, lpSectBuff, 512 * wSectors, &dwCB, NULL);
 CloseHandle(hDev);
 return bRet;
}
------解决方案--------------------
使用\\.\PhysicalDrive2样式的设备名打开,详见MSDN中CreateFile的Physical Disks and Volumes项