在 Win32 的資訊: 直接磁碟存取

文章翻譯 文章翻譯
文章編號: 100027 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

結論

若要在 Win32 架構的應用程式中開啟供直接磁碟存取 (未經處理的 I/O) 的實體硬碟機,使用表單的裝置名稱
\\.\PhysicalDriveN
其中 N 是 0、 1、 2 及等等代表每個實體磁碟機在系統中。

若要開啟 [邏輯磁碟機是表單的直接存取
\\.\X:
其中 X: 是硬碟機的磁碟分割代號、 軟碟機或 CD-ROM 光碟機。

其他相關資訊

您可以開啟實體或邏輯磁碟機,這些裝置名稱中使用 CreateFile() 應用程式發展介面 (API) 所提供您必須擁有適當的存取權限,磁碟機 (也就是您必須是系統管理員)。您必須使用 CreateFile() FILE_SHARE_READ 和 FILE_SHARE_WRITE 旗標來存取磁碟機。

開啟邏輯或實體磁碟機後然後您可以直接 I/O 對資料執行整個磁碟機上。當執行直接磁碟 I/O,您必須搜尋、 讀取,和寫入的裝置和磁區界限上的磁區大小的倍數。呼叫 DeviceIoControl() 使用 IOCTL_DISK_GET_DRIVE_GEOMETRY 取得每個磁區、 數目的磁區、 每個曲目,並等等等的磁區位元組,以便您可以計算您需要的緩衝區大小。

Win32 架構的應用程式無法開啟檔案,藉由使用內部的 Windows NT 物件名稱 ; 請注意,例如嘗試藉由開啟 [開啟 CD-ROM 光碟機
\Device\CdRom0
並不可行,因為這不是有效的 Win32 裝置名稱。應用程式可以使用 QueryDosDevice() API 來取得所有有效的 Win32 裝置名稱的清單,請參閱特定的 Win32 裝置名稱和內部的 Windows NT 物件名稱之間的對應。在足夠的權限層級執行的應用程式,才能定義、 重新定義,或刪除藉由呼叫 DefineDosDevice() API Win32 裝置對應情形。

屬性

文章編號: 100027 - 上次校閱: 2003年5月6日 - 版次: 2.0
這篇文章中的資訊適用於:
  • Microsoft Win32 Application Programming Interface?應用於:
    • Microsoft Windows NT Advanced Server 3.1
    • Microsoft Windows NT 4.0
    • Microsoft Windows NT 3.51 Service Pack 5
    • Microsoft Windows NT 4.0
    • the operating system: Microsoft Windows 2000
    • the operating system: Microsoft Windows XP
關鍵字:?
kbmt kbapi kbfileio kbinfo kbkernbase KB100027 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:100027
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com