久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5108|回復: 0
收起左側

Windows 系統中的卷,邏輯驅動器和物理驅動器

[復制鏈接]
ID:90014 發表于 2015-9-13 16:47 | 顯示全部樓層 |閱讀模式
   這幾天一直為如何判斷插入系統中的U盤的盤符判斷而頭疼。經過前面幾天的資料查閱,可以得知,在系統中插入新的設備時,總線驅動會通知即插即用管理器,在系統中給客戶應用層發送WM_DEVICECHANGE的消息。此時用戶程序可以捕捉該信息并進行處理。
實際使用時發現,當一個插入系統的U盤具有多個邏輯分區時,插入的設備安裝消息會多次通知,可以得知真正增加了幾個邏輯驅動器。但是,當U盤從系統中直接拔出時,只能獲得一次設備變更的消息,至于是這幾個邏輯驅動器中的哪一個,尚不可確知。此時只有對系統中的所有邏輯驅動器進行分析,才能正確地獲得磁盤的變更情況更新。否則就會訪問系統中已經不存在的磁盤,從而導致系統出錯。
這個問題需要從Windows系統對磁盤的組織方式來理解。我們平時看到的大容量存儲設備,包括硬盤,光驅,U盤,以及讀卡器等等。在接入系統(設備安裝)時,系統按照其接口類型進行分類,如SCSI,IDE(ATA),SATA,或采用USB轉接的方式接入。而在存儲功能上,CDROM被當作另外的一個設備類型處理。這些設備安裝好之后,在系統看到是一個個的邏輯文件卷,每個邏輯文件卷對應有一個DOS設備名。這里是最容易混淆的地方:
1. 由于Windows系統用卷的方式組織文件。一個邏輯卷可能是一個物理磁盤分區,也可能是多個分區甚至多個磁盤陣列的組合,他們之間可以是唯一性使用(一般使用模式),也可能是聚合使用(多個磁盤組成的冗余,鏡像陣列)。換句話說,一個物理磁盤,上面可能有多個物理分區,每個物理分區上可以劃分為多個邏輯卷,也可能是多個物理分區組合成一個邏輯卷。
2. 不一定每個邏輯卷都是DOS設備名。對于沒有DOS設備名的邏輯文件卷,如果不掛接在系統邏輯卷下面作為分支,則無法直接在資源管理器中看到。一般的用戶操作也無法直接操作。
3. 如果將一個物理磁盤分區作為一個邏輯卷掛接在其他分區的文件夾以下,訪問該分區的作業和訪問文件夾的作業時完全相同。從用戶角度并不能區分這個文件夾的具體位置在哪一個物理磁盤的哪一個物理分區上。
綜上所述,Windows文件系統中,物理磁盤,物理分區,驅動器,文件卷之間的關系并不像DOS下那樣簡單。文件卷時系統提供的文件訪問途經,一般都會有一個DOS設備名稱,如C:,D:,知道Z,就是我們平時所熟悉的C盤,D盤等。但是這些DOS設備名真正對應的物理驅動器,可能是分布在多個物理磁盤組成的陣列中,也可能是同一磁盤的不同物理分區中。要從一個文件的路徑中找到文件的真正物理位置,從而直接繞過操作系統進行訪問,真的不容易,很多時候是不可能的事情。
下面說說另外的情形:對于采用USB接口的設備,如我們常見的U盤和讀卡器,雖然只有一個物理接口,在Windows系統中,可能是多個設備,如在系統中形成多個物理磁盤驅動器,甚至是不同類型的設備,如一個U盤可以被仿真為一個ZIP盤,CDROM進行系統啟動,這樣進入系統后,在系統中就會看到增加了幾個不同類型物理驅動器,分別歸屬于不同的設備分類中。對于多功能讀卡器系列,則會看到有多個可移動磁盤出現在驅動器列表中。在沒有插入卡介質時,對其訪問都會出錯,導致“請插入磁盤”的提示信息出現。
回到如何判斷系統中都有哪些設備的問題上來。采用Windows 2000以后系統中所提供的Windows Management Interfaces(WMI)系統組件,可以獲取當前系統中的所有設備信息,包括以上說提到的物理驅動器,物理驅動器的分區,邏輯驅動器(文件卷)等詳細信息,在WMI的路徑root\cimv2的Win32服務子集中,包括Win32_DiskDrive - 物理磁盤,Win32_DiskDrivePhysicalMedia,Win32_DiskDriveToDiskPartition,Win32_DiskPartition,Win32_DiskQuota等物理磁盤信息以及Win32_LogicalDisk,Win32_LogicalRootDirectory,Win32_LogicalDiskToPartition等,還有一個就是Win32_PhysicalMedia。這些不同的信息集合必須區分使用,中間的映射關系沒有直接的定義。要查找這些關系,必須通過另外的內核級API訪問來獲取。一般常用到的是從Dos設備名取得物理路徑名QueryDosDevice()來進行查表方式的比對。
對于可拆卸介質的大容量存儲設備,如CDROM,讀卡器類型,可以通過判斷內置介質的容量方式來檢查是否有介質插入。這個可以訪問Win32_LogicalDisk的size屬性,如果Size=0,則沒有介質插入。否則返回的是該驅動介質的容量。不過這個對于可刻錄型光驅媒體是不對的。需要使用另外的方式檢查。
需要提及一點,對于磁盤分區的概念,目前只是用在硬盤驅動器中,對于其他存儲類型,則會更多的劃分為不同的磁盤驅動器,沒有分區的概念。                                                                                                                    
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜视频免费网站 | 久草a√ | 亚洲午夜视频在线观看 | 欧美日韩一区二区在线观看 | 日韩在线一区二区三区 | 亚洲国产精久久久久久久 | 成人黄色在线视频 | 午夜一区 | 久久这里只有精品首页 | 中国美女av| 人成在线视频 | 久久综合伊人 | 日韩欧美国产精品一区 | 国产成视频在线观看 | 精品国产乱码久久久久久影片 | 免费中文字幕 | av免费入口| 日韩视频在线免费观看 | 亚洲日本激情 | 日本欧美在线观看视频 | 色av一区二区三区 | 伊人伊成久久人综合网站 | 男女网站视频 | 免费视频二区 | 人人cao | 国产免费又黄又爽又刺激蜜月al | 特级黄一级播放 | 日韩在线观看一区 | 九九热精品在线 | 亚洲人久久 | 久久成人人人人精品欧 | 99热国产精品 | 一区二区三区国产精品 | 男女羞羞视频网站 | 欧美精品一区二区三区四区五区 | 一区二区三区四区不卡视频 | 色黄网站 | 国产亚洲精品久久久久动 | 成人福利网 | 亚洲高清视频在线观看 | 天堂网中文字幕在线观看 |