怎么从本地硬盘中区分出移动硬盘和本地硬盘

如何从本地硬盘中区分出移动硬盘和本地硬盘?
这两个设备的GetDriveType都一样啊,还有什么别的方法么?

------解决方案--------------------
我一般获取 设备实例ID (Device Instance ID) 看前缀。
------解决方案--------------------
可以这么搞. 
参考一下.
C/C++ code

   
HANDLE hDevice=NULL;
char szT1[MAX_PATH]={0};
BOOL bRet=FALSE;
DWORD dwRet=0;
wsprintf(szT1,"\\\\.\\PHYSICALDRIVE%d",0);
hDevice=CreateFile(szT1,GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_SYSTEM,NULL);
DISK_GEOMETRY  Geometry;
BOOL  bResult = DeviceIoControl(hDevice,   
 IOCTL_DISK_GET_DRIVE_GEOMETRY,   
 NULL, 0,             
Geometry, sizeof(DISK_GEOMETRY),   
&cbByteReturned, NULL);
if(Geometry.MediaType == RemovableMedia)
{
 printf("RemovableMedia");
}