Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Thông tin: Ổ đĩa trực tiếp truy cập dưới Win32

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:100027
TÓM TẮT
Mở một ổ đĩa vật lý khó khăn cho truy cập trực tiếp đĩa (nguyên I/O) trong mộtWin32 dựa trên ứng dụng, sử dụng một tên thiết bị của các hình thức
\\.\PhysicalDriveN
nơi n là 0, 1, 2, và vv, đại diện cho mỗi của các ổ đĩa vật lýtrong hệ thống.

Mở một ổ đĩa logic, truy cập trực tiếp là dạng
\\.\X:
nơi X: là một lá thư phân vùng ổ cứng, ổ đĩa mềm hoặc CD-ROMổ đĩa.
THÔNG TIN THÊM
Bạn có thể mở một ổ đĩa vật lý hoặc hợp lý bằng cách sử dụng các ứng dụng CreateFile()lập trình giao diện (API) với những tên thiết bị với điều kiện là bạn cóquyền truy nhập phù hợp cho các ổ đĩa (có nghĩa là, bạn phải là mộtquản trị). Bạn phải sử dụng cả hai CreateFile() FILE_SHARE_READ vàFILE_SHARE_WRITE lá cờ để truy cập vào ổ đĩa.

Một khi các ổ đĩa logic hay vật lý đã được mở, bạn có thể sau đó thực hiệnI/O trực tiếp đến dữ liệu nằm trên toàn bộ đĩa. Khi biểu diễn trực tiếp đĩaI/O, bạn phải tìm kiếm, đọc và viết trong bội số của khu vực kinh tế kích thước của cácthiết bị và trên khu vực ranh giới. Gọi DeviceIoControl() bằng cách sử dụngIOCTL_DISK_GET_DRIVE_GEOMETRY để có được các byte cho mỗi khu vực kinh tế, số lượngcác ngành, lĩnh vực / theo dõi, và vv, do đó bạn có thể tính toán kích thướccủa bộ đệm mà bạn sẽ cần.

Lưu ý rằng một Win32 dựa trên ứng dụng không thể mở một tập tin bằng cách sử dụng nội bộWindows NT tên đối tượng; Ví dụ, cố gắng để mở một ổ đĩa CD-ROM bởimở đầu
\Device\CdRom0
không làm việc vì đây không phải là một tên thiết bị Win32 hợp lệ. Một ứng dụngcó thể sử dụng QueryDosDevice() API để có được một danh sách của tất cả các thiết bị Win32 hợp lệtên và xem ánh xạ giữa một Win32 tên thiết bị cụ thể và mộtbên trong Windows NT tên đối tượng. Một ứng dụng chạy ở một đầy đủcấp đặc quyền có thể xác định, xác định lại hoặc xóa Win32 ánh xạ thiết bị củagọi DefineDosDevice() API.

Cảnh báo: Bài viết này đã được dịch tự động

Thuộc tính

ID Bài viết: 100027 - Xem lại Lần cuối: 08/17/2011 13:22:00 - Bản sửa đổi: 2.0

Microsoft Win32 Application Programming Interface

  • kbapi kbfileio kbinfo kbkernbase kbmt KB100027 KbMtvi
Phản hồi