我的程序能单步不能运行
我的程序如下:
char* Utest::ReadCert(char DiskName)
{
char CertInformation[512]="";
char devName[] = "\\\\.\\J:";
devName[4] = DiskName;
unsigned long nBytes;
LARGE_INTEGER offset;
HANDLE hDeviceHandle = CreateFile(devName ,GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ | FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,0);
if(hDeviceHandle==INVALID_HANDLE_VALUE)
MessageBox(NULL,"证书文件读取失败","失败",MB_OK);
else{
offset.QuadPart = 20;
offset.QuadPart = offset.QuadPart*512;
SetFilePointer(hDeviceHandle,offset.LowPart,&offset.HighPart,FILE_BEGIN);
ReadFile(hDeviceHandle,CertInformation,512,&nBytes,NULL);
CloseHandle(hDeviceHandle);
}
return CertInformation;
}
通过读取磁盘的绝对扇区上的信息并返回的一个代码
但是我通过单步的话每次都能成功运行,甚至断点都不在这个代码中,但是如果直接点击执行的话却一直不能正确运行,返回的字符串不正确,我想知道可能是什么原因。而且我可以保证在硬盘的那个扇区中绝对是有对应的信息,是正常的信息,急!!!