2010-08-25 122 views

回答

2

使用ActiveSync連接到設備並打開遠程註冊表編輯器。 SearchtèHKLM\Drivers\Active鍵的值爲DSKx:其中x是一個數字(您也可以使用FindFirstStoreFindNextStore)。
一旦你有了,你可以用OpenStore打開商店。然後你可以找到FindFirstPartitionFindNextPartition的第一個分區,打開存儲上的分區並查看文件系統類型(在PARTINFO結構中)。

使用Storage Manager API完成所有操作。

1

最有可能它是FAT(雖然它不一定是),但這對你沒有多大的幫助。你不能非常容易地閱讀或者寫作。你也必須知道有兩套文件系統。 ROM和RAM,ROM是隻讀的,並不總是以讀/寫形式訪問。 ROM文件系統包含大部分系統文件。 RAM文件系統是存儲所有用戶數據的FAT文件系統。

使用Storage Manager API將爲您提供RAM文件系統和任何連接的存儲設備的細目。

如果您真的想要使用DeviceIoControl DISK_IOCTL_WRITE/DISK_IOCTL_WRITE按扇區訪問RAM驅動器扇區。

爲什麼你需要知道文件系統是什麼?

更新:

所以actaul問題是:「我是否需要知道爲什麼不能我創造更多的去1000個文件與同一文件夾相同的擴展,但我可以從不同的擴展創造超過1000個文件」

其實你可以。問題在於,在Windows Mobile設備上(我嘗試過的所有設備)都是創建目錄項會減慢創建的目錄條目。一旦你達到了5000個文件標記,它可能需要5分鐘來創建目錄條目。我創建了測試應用程序,它創建了零長度的文件,並且在一臺設備上創建了5000個文件花了將近48小時!所以是的,但可以創建文件非常緩慢。我通常試圖將一個目錄中的文件數量限制在500個左右。所以我的建議是將目錄中的文件分割成多達500個文件的目錄。或者以您自己的文件格式/數據庫存儲數據。要麼會很快。

+0

我需要知道爲什麼我不能在同一個文件夾中創建更多具有相同擴展名的1000個文件。但我可以從不同的擴展名創建超過1000個文件。 – 2010-08-30 15:04:49

+0

您已經遇到了我稱之爲有FAT代碼的WinCE實現中的錯誤。我認爲他們正在做的是從磁盤讀取完整的目錄列表,然後在每次添加目錄條目時將其寫出。這意味着,編寫大量目錄條目開始減慢更多的目錄條目,一旦達到約5000個目錄條目,可能需要5分鐘來創建文件條目。這發生在我見過的所有WinMo設備上......我建議將它們分成不超過500個文件的目錄,或者以自己的文件格式/數據庫存儲它們。 – 2010-08-30 19:09:46