cgetstorageid.cpp

来自「读取SD卡序列号」· C++ 代码 · 共 27 行

CPP
27
字号
#include "stdafx.h"
#include "CGetStorageID.h"

unsigned char* GetStroageID(LPCTSTR szDisk)
{
	//HANDLE hDisk = CreateFile(_T("DSK1:"), GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL); 
	HANDLE hDisk = CreateFile(szDisk, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL); 
	if (!hDisk) return FALSE;

	PSTORAGE_IDENTIFICATION pStoreInfo = (PSTORAGE_IDENTIFICATION) new BYTE[3000];

	DWORD dwBytesRet;

	if (!DeviceIoControl(hDisk, IOCTL_DISK_GET_STORAGEID, NULL, 0, pStoreInfo, 3000, &dwBytesRet, NULL))
	{
		DWORD err = GetLastError(); 
		delete [] pStoreInfo; 
		CloseHandle(hDisk); 
		return FALSE; 
	}

	BYTE *ManuID = (((BYTE *)pStoreInfo) + pStoreInfo->dwManufactureIDOffset); 
	BYTE *SerialNo = (((BYTE *)pStoreInfo) + pStoreInfo->dwSerialNumOffset);

	return SerialNo;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?