wince设备 usb 盘符的问题
WINCE设备,如果USB接入PC,那么我的设备是作为slave端,在PC上会显示像U盘(就是WINCE设备的flash)一样的盘符,盘符是有名称的,
如:"removeable disk(F)",那么我的问题是,我应该怎样去更改在PC上显示的盘符名称(不通过在PC上去操作),是否和我WINCE上的USB驱动有关?
我做了以下的测试:
1.在PC端把盘符重命名,如把"removeable disk" --> "my disk",之后把WINCE设备重新联到另一台PC,结果盘符是显示之前我改过之后的,
就是:"my disk",那么证明盘符名称是跟随WINCE设备走的。
2.重新在设备烧入wince的OS,插入PC,结果盘符还是显示改制后的"my disk",看来盘符名称又和设备的wince OS好像没关系,应该也就和设备的USB driver也
没多大关系,那么盘符信息我猜测是更改后存入到了FLASH中,怎样存的不知道。而且在wince 的注册表理搜不到盘符名称相关的键值,但在PC机的注册表里却能
找到。
说明:我这里的盘符是指从PC端上显示的WINCE设备的盘符,和拔掉USB线后,在WINCE设备上看到的FLASH盘符是不一样的(如果USB连接PC,在MASS STORAGE 模式
下,WINCE设备上是看不到FLASH盘符的,这时候是由PC管理FLASH)。
那么,我该怎样去定制我的盘符名称呢,应该在那里去加相应的代码呢,有没有可能在wince的代码里面去设置?
非常感谢指点.
[解决办法]
在你的Wince设备当中编一程序,
if(USB==插入PC)
{
修改盘符名称;
}
这样不就把你说的问题解决了吗
[解决办法]
注册表platform.reg
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\usbmsfn]
"DeviceName"="removeable disk"
ok
[解决办法]
去看看FAT资料吧,你所说的"盘符名称"实际上就是卷标名称了,这个就是在FAT分区里面了
[解决办法]
让PC能识别到你做的U盘,你得要先对指向U盘的缓冲区格式化一下,实际上就是写入FAT格式的数据,其中就包括卷标了,当然你可以在PC上对你的U盘进行格式化,同时可以改名称,就是改卷标(DOS时期的叫法)
[解决办法]
权威解释,听好了。嘿嘿
这个问题是磁盘分区的卷标问题,在每个磁盘(不管是NAND FLASH,还是真实的硬盘)上面都包含一个分区表的信息,里面会有定义磁盘的卷标,普通的或默认的都是NO Name(好像是这样写的)。你更改的磁盘名字会真实的写入到磁盘这个位置,所以更改完磁盘名字之后,你以后再怎么插就都是这个名字了。
所以你的问题,应该是要修改你的磁盘的卷标信息,而不是驱动或注册表。
具体这个位置在哪里,可以网上搜一下,好多都有介绍。
[解决办法]
注册表platform.reg
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\usbmsfn]
"DeviceName"="removeable disk"
重新格式化 wince 的剩余flash。
如果,不格式化,ce 起来后发现他的分区还是完好的,他就没必要自动格式化一遍。所以还是原来的东西。