C# 改写VC代码

wolf_Knight wolf_Knight 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
请哪位大侠帮忙用C#改写一下VC代码(环境Wince)

unsigned char* GetStorageID(LPCTSTR szDisk)
{
BYTE *SerialNo ;
HANDLE hDisk = CreateFile(szDisk ,GENERIC_READ,FILE_SHARE_READ | FILE_SHARE_WRITE , NULL , OPEN_EXISTING , 0 , NULL);
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;
}
else
{
SerialNo = (((BYTE *)pStoreInfo) + pStoreInfo->dwManufactureIDOffset);

}
CloseHandle(hDisk);
return SerialNo;
}

#define IOCTL_DISK_GET_STORAGEID CTL_CODE(FILE_DEVICE_DISK, 0x709,METHOD_BUFFERED,FILE_ANY_ACCESS)
typedef struct _STORAGE_IDENTIFICATION
{
DWORD dwSize;
DWORD dwFlags;
DWORD dwManufactureIDOffset;
DWORD dwSerialNumOffset;
} STORAGE_IDENTIFICATION, *PSTORAGE_IDENTIFICATION;
...全文

相关推荐

评论 11
收藏 已收藏
分享
返回顶部
wolf_Knight
C# 111,129 成员 642,540 内容