新聞中心

        WinCE獲取SD卡序列號

        作者: 時間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

        {

        BOOL bRes = FALSE;

        PSTORAGE_IDENTIFICATION pStoreInfo = NULL;

        HANDLE hDisk = INVALID_HANDLE_VALUE;

        __try

        {

        //The buffer for storing data

        const DWORD BUFFER_SIZE = 300;

        //Allocate the size for the struct

        pStoreInfo = (PSTORAGE_IDENTIFICATION) new BYTE[BUFFER_SIZE];

        if(pStoreInfo == NULL)

        {

        __leave;

        }

        //Open the driver

        hDisk = CreateFile(strDiskName.c_str(), GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);

        if(hDisk == INVALID_HANDLE_VALUE)

        {

        __leave;

        }

        //Get the ID from the driver

        DWORD dwBytesRet = 0;

        if (DeviceIoControl(hDisk, IOCTL_DISK_GET_STORAGEID, NULL, 0, pStoreInfo, BUFFER_SIZE, dwBytesRet, NULL) == FALSE)

        {

        __leave;

        }

        //Get the manufacture ID

        if (pStoreInfo->dwManufactureIDOffset != 0)

        {

        char *pManufactureID = reinterpret_cast(pStoreInfo) + pStoreInfo->dwManufactureIDOffset;

        if(pStoreInfo->dwSerialNumOffset != 0)

        {

        strManufactureID.assign(pManufactureID,pStoreInfo->dwSerialNumOffset - pStoreInfo->dwManufactureIDOffset);

        }

        else

        {

        strManufactureID = pManufactureID;

        }

        }

        if(pStoreInfo->dwSerialNumOffset != 0)

        {

        char *pSerialNum = reinterpret_cast(pStoreInfo) + pStoreInfo->dwSerialNumOffset;

        strSerialNum = pSerialNum;

        }

        bRes = TRUE;

        }

        __finally

        {

        if(pStoreInfo != NULL)

        {

        delete []pStoreInfo;

        }

        if(hDisk != INVALID_HANDLE_VALUE)

        {

        CloseHandle(hDisk);

        }

        }

        return bRes;

        }


        上一頁 1 2 下一頁

        關(guān)鍵詞:

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 衡水市| 林芝县| 治多县| 和顺县| 宁乡县| 华坪县| 扶绥县| 四会市| 交城县| 临海市| 板桥市| 安泽县| 东莞市| 昌邑市| 蒲城县| 贡嘎县| 东乡族自治县| 铜陵市| 巫山县| 延长县| 日土县| 象州县| 陆丰市| 赣州市| 集安市| 收藏| 宁河县| 广西| 宜宾市| 义乌市| 北安市| 江达县| 浙江省| 贵州省| 盘锦市| 吴旗县| 新民市| 双柏县| 泰兴市| 永定县| 南澳县|