青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

飛天

快樂的生活......

 

讀取串口硬盤序列號(出廠唯一的序列號)(csdn)

#define  IDENTIFY_BUFFER_SIZE  512

#define  IDE_ATAPI_IDENTIFY  0xA0
#define  IDE_ATA_IDENTIFY    0xEC
#define  DFP_RECEIVE_DRIVE_DATA   0x0007c088

#pragma pack(1)
typedef
struct _IDSECTOR
{
    USHORT  wGenConfig;
    USHORT  wNumCyls;
    USHORT  wReserved;
    USHORT  wNumHeads;
    USHORT  wBytesPerTrack;
    USHORT  wBytesPerSector;
    USHORT  wSectorsPerTrack;
    USHORT  wVendorUnique[
3];
    CHAR    sSerialNumber[
20];
    USHORT  wBufferType;
    USHORT  wBufferSize;
    USHORT  wECCSize;
    CHAR    sFirmwareRev[
8];
    CHAR    sModelNumber[
40];
    USHORT  wMoreVendorUnique;
    USHORT  wDoubleWordIO;
    USHORT  wCapabilities;
    USHORT  wReserved1;
    USHORT  wPIOTiming;
    USHORT  wDMATiming;
    USHORT  wBS;
    USHORT  wNumCurrentCyls;
    USHORT  wNumCurrentHeads;
    USHORT  wNumCurrentSectorsPerTrack;
    ULONG   ulCurrentSectorCapacity;
    USHORT  wMultSectorStuff;
    ULONG   ulTotalAddressableSectors;
    USHORT  wSingleWordDMA;
    USHORT  wMultiWordDMA;
    BYTE    bReserved[
128];
}IDSECTOR,
*PIDSECTOR;

typedef
struct _DRIVERSTATUS
{
    BYTE  bDriverError;
    BYTE  bIDEStatus;
    BYTE  bReserved[
2];
    DWORD  dwReserved[
2];
} DRIVERSTATUS,
*PDRIVERSTATUS, *LPDRIVERSTATUS;

typedef
struct _SENDCMDOUTPARAMS
{
    DWORD         cBufferSize;
    DRIVERSTATUS  DriverStatus;
    BYTE          bBuffer[
1];
} SENDCMDOUTPARAMS,
*PSENDCMDOUTPARAMS, *LPSENDCMDOUTPARAMS;

typedef
struct _IDEREGS
{
    BYTE bFeaturesReg;
    BYTE bSectorCountReg;
    BYTE bSectorNumberReg;
    BYTE bCylLowReg;
    BYTE bCylHighReg;
    BYTE bDriveHeadReg;
    BYTE bCommandReg;
    BYTE bReserved;
} IDEREGS,
*PIDEREGS, *LPIDEREGS;

typedef
struct _SENDCMDINPARAMS
{
    DWORD     cBufferSize;
    IDEREGS   irDriveRegs;
    BYTE bDriveNumber;
    BYTE bReserved[
3];
    DWORD     dwReserved[
4];
    BYTE      bBuffer[
1];
} SENDCMDINPARAMS,
*PSENDCMDINPARAMS, *LPSENDCMDINPARAMS;

#pragma pack()

void ChangeByteOrder(LPSTR lpString, int nLen)
{
    USHORT i;
    CHAR c;

   
// 63 63 72 75 6E 2E 63 6F 6D
    for(int i = 0; i < nLen; i += 2)
    {
        c
= lpString[i];
        lpString[i]
= lpString[i+1];
        lpString[i
+1] = c;
    }
}

bool CrnGetHDSerialNumber(LPSTR lpBuf)
{
    strcpy(lpBuf,
"");

    HANDLE hDevice;

   
if(Win32Platform == VER_PLATFORM_WIN32_NT)
       
// 獲取第一個硬盤,如果有多個,更改PhysicalDrive?就可以了。
        hDevice = CreateFile("\\\\.\\PhysicalDrive0",
                GENERIC_READ
| GENERIC_WRITE,
                FILE_SHARE_READ
| FILE_SHARE_WRITE,
                NULL,
                OPEN_EXISTING,
               
0,
               
0);
   
else
        hDevice
= CreateFile("\\\\.\\SMARTVSD", 0, 0, NULL, CREATE_NEW, 0, 0);

   
if(hDevice == INVALID_HANDLE_VALUE) return false;

    SENDCMDINPARAMS scip
= { 0 };
   
char szBuffer[sizeof(SENDCMDOUTPARAMS) + IDENTIFY_BUFFER_SIZE] = { 0 };
    DWORD dwBytesRet
= 0;
   
bool bSuccess = false;
   
try
    {
        scip.cBufferSize
= IDENTIFY_BUFFER_SIZE;

        scip.irDriveRegs.bSectorCountReg
= 1;
        scip.irDriveRegs.bSectorNumberReg
= 1;
        scip.irDriveRegs.bDriveHeadReg
= IDE_ATAPI_IDENTIFY;
        scip.irDriveRegs.bCommandReg
= IDE_ATA_IDENTIFY;

       
if(DeviceIoControl(hDevice,
                DFP_RECEIVE_DRIVE_DATA,
               
&scip,
               
sizeof(SENDCMDINPARAMS) - 1,
                szBuffer,
               
sizeof(szBuffer),
               
&dwBytesRet,
                NULL))
        {
            PSENDCMDOUTPARAMS pOut
= (PSENDCMDOUTPARAMS)szBuffer;
            PIDSECTOR pIdSec
= (PIDSECTOR)(pOut->bBuffer);
            ChangeByteOrder(pIdSec
->sSerialNumber, sizeof(pIdSec->sSerialNumber));
            strncpy(lpBuf, pIdSec
->sSerialNumber, 20);
            bSuccess
= true;
        }
    }
    __finally
    {
        CloseHandle(hDevice);
    }

   
return bSuccess;
}
//---------------------------------------------------------------------------
// 測試一哈
void __fastcall TForm1::Button2Click(TObject *Sender)
{
   
char sz[255];
    CrnGetHDSerialNumber(sz);
    ShowMessage(String(sz).Trim());
}
http://topic.csdn.net/u/20071120/01/ace8c302-4260-4be2-99d7-faba80c68e8e.html

posted on 2007-12-03 21:29 飛天 閱讀(1678) 評論(0)  編輯 收藏 引用 所屬分類: C++Builder

導航

統計

常用鏈接

留言簿(2)

隨筆分類

隨筆檔案

文章分類

文章檔案

Blogs

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            黑人极品videos精品欧美裸| 韩日成人在线| 亚洲性av在线| 亚洲免费黄色| 一区二区欧美精品| 亚洲视频综合| 亚洲免费视频在线观看| 欧美一级视频| 国产综合精品一区| 欧美不卡三区| 欧美午夜视频| 国内精品久久久久影院色| 狠狠综合久久av一区二区小说 | 欧美一区二区在线看| 久久精品人人做人人综合| 老巨人导航500精品| 欧美激情视频一区二区三区在线播放| 亚洲国产日韩欧美在线99| 美女图片一区二区| 久久精品在线播放| 久久国产视频网| 欧美a级大片| 亚洲四色影视在线观看| 欧美在线一区二区| 欧美日本一区二区视频在线观看| 国产精品五区| 亚洲第一区中文99精品| 一区二区三区四区国产| 欧美福利视频网站| 一二三四社区欧美黄| 久久国产精品久久精品国产| 欧美激情网站在线观看| 国产精品影院在线观看| 亚洲精品之草原avav久久| 亚洲欧美国产毛片在线| 亚洲高清在线| 久久久久中文| 国产色产综合色产在线视频| 在线午夜精品自拍| 欧美国产精品日韩| 久久精品国产欧美激情| 国产精品五区| 欧美大片一区二区三区| 一区二区在线视频观看| 欧美一区二区观看视频| 日韩视频第一页| 美女久久一区| 欧美视频免费| 一本色道久久88精品综合| 亚洲人成毛片在线播放女女| 国产婷婷色一区二区三区四区| av成人老司机| 亚洲国产小视频在线观看| 久久久精品国产免大香伊| 国产精品爽爽爽| 亚洲欧美自拍偷拍| 亚洲天堂男人| 欧美午夜精品久久久久久人妖 | 久久免费精品视频| 亚洲欧洲av一区二区| 国产精品一二三| 亚洲一区在线免费观看| 亚洲精选一区二区| 亚洲国产电影| 欧美电影免费观看高清| 亚洲人成高清| 亚洲日本中文字幕免费在线不卡| 欧美国产免费| 一本大道久久a久久综合婷婷| 亚洲欧洲综合另类| 亚洲一级在线| 亚洲影院色无极综合| 亚洲小说欧美另类婷婷| 国产揄拍国内精品对白| 麻豆av一区二区三区| 日韩小视频在线观看专区| 亚洲高清视频一区| 欧美精品色一区二区三区| 一区二区毛片| 亚洲一区二区精品在线| 国产日韩一区二区三区在线播放| 久久国产高清| 久久综合给合| 中文国产成人精品久久一| 亚洲永久视频| 在线看不卡av| 亚洲激情欧美激情| 一区二区成人精品| 国产一区二区福利| 亚洲大胆在线| 国产精品免费一区二区三区在线观看 | 午夜一区二区三视频在线观看 | 亚洲国产乱码最新视频| 亚洲精品一区二区网址| 国产精品资源在线观看| 欧美成人在线免费视频| 国产精品大片wwwwww| 老巨人导航500精品| 欧美天天综合网| 毛片一区二区三区| 欧美性片在线观看| 欧美xx视频| 久久av老司机精品网站导航| 亚洲欧美中文另类| 久热精品视频| 亚洲伊人第一页| 久久资源av| 欧美在线综合| 欧美日本国产精品| 老司机免费视频一区二区三区 | 亚洲视频欧美在线| 鲁大师成人一区二区三区| 美女露胸一区二区三区| 欧美一区二区三区视频在线| 欧美成人精品在线播放| 久久久久国产精品麻豆ai换脸| 欧美精品二区| 欧美国产综合视频| 国产综合色精品一区二区三区| av成人毛片| 一本大道久久a久久精品综合| 久久久综合香蕉尹人综合网| 久久狠狠久久综合桃花| 欧美亚男人的天堂| 亚洲人成网站在线观看播放| 黄色在线一区| 久久精品国产一区二区三区免费看 | 另类人畜视频在线| 国产一区二区三区av电影| 这里只有精品视频| 亚洲人体一区| 日韩手机在线导航| 久久躁日日躁aaaaxxxx| 久久久久久尹人网香蕉| 国产视频精品xxxx| 麻豆精品视频在线观看视频| 久久野战av| 极品少妇一区二区三区| 久久精品成人一区二区三区| 久久精品免视看| 伊人蜜桃色噜噜激情综合| 久久久欧美精品sm网站| 欧美电影资源| 99精品欧美一区二区三区| 欧美日韩福利| 中文在线一区| 欧美中文字幕在线视频| 国产综合久久久久久| 麻豆久久精品| 亚洲精一区二区三区| 亚洲校园激情| 国产手机视频一区二区| 久久精品国产精品| 黄色小说综合网站| 久久手机免费观看| 亚洲激情偷拍| 亚洲欧美日韩在线播放| 国产亚洲在线| 麻豆91精品| 亚洲乱码国产乱码精品精天堂| 亚洲欧美精品在线观看| 国产欧美一区视频| 久久亚洲一区二区| 男男成人高潮片免费网站| 久久精品国产亚洲一区二区三区| 激情一区二区三区| 欧美日韩高清在线观看| 香蕉久久一区二区不卡无毒影院 | 99精品久久久| 国产精品自拍在线| 久久一区中文字幕| 亚洲最新合集| 老司机免费视频久久| 亚洲一区欧美二区| 禁断一区二区三区在线 | 伊人夜夜躁av伊人久久| 欧美精品一区二区久久婷婷| 亚洲一区在线直播| 欧美电影在线观看| 欧美在线观看一区二区| 亚洲精美视频| 亚洲综合社区| 欧美国产第一页| 久久狠狠亚洲综合| 一区二区激情视频| 亚洲成在人线av| 欧美在线视频不卡| 欧美尤物一区| 亚洲九九精品| 国产在线视频欧美| 欧美不卡视频| 国产精品亚洲人在线观看| 欧美好骚综合网| 久久精品亚洲国产奇米99| 亚洲一区尤物| 夜夜嗨av一区二区三区网站四季av | 欧美一区二区三区免费大片| 亚洲欧洲精品一区二区三区不卡 | 亚洲精品一区二区三区四区高清 | 午夜亚洲视频|