\??
là thư mục đối tượng ảo của hạt nhân, trong đó trình quản lý đối tượng tìm kiếm các liên kết biểu tượng thiết bị DOS cục bộ và toàn cục. Đầu tiên nó kiểm tra các liên kết thiết bị DOS cục bộ cho phiên đăng nhập của người dùng trong \Sessions\0\DosDevices\[Logon_AuthenticationId]
. Sau đó, nó kiểm tra các liên kết thiết bị DOS toàn cầu trong \Global??
. Quay trở lại những ngày xưa, NT đã sử dụng một thư mục \DosDevices
. Ngày nay, \DosDevices
là một liên kết đến \??
. Ngoài ra, mỗi thư mục thiết bị DOS cục bộ có liên kết "Toàn cầu" để cho phép truy cập thiết bị toàn cầu khi thiết bị cục bộ đổ bóng toàn cục (ví dụ: \\?\Global\Z:
) hoặc cho phép trình điều khiển thiết bị tạo thiết bị toàn cầu khi không thực hiện trong chuỗi hệ thống.
Trong chế độ người dùng, thư viện thời gian chạy trong ntdll.dll biến đổi một con đường DOS/Windows đầy đủ điều kiện để một con đường NT bởi một trong hai prepending \??\
cho một ký tự ổ đĩa hoặc thay thế hàng đầu \\
của một con đường UNC với \??\UNC\
- trừ \\?\
và \\.\
đường dẫn thiết bị cục bộ được thay thế đơn giản bằng \??\
. Nhưng trước tiên, đường dẫn thiết bị \\.\
trải qua một số quá trình tiền xử lý, chẳng hạn như giải quyết "." và thành phần "..", trong khi \\?\
bỏ qua tất cả xử lý trước chế độ người dùng.
Ví dụ: thông thường \\?\C:\Windows
được chuyển thành \??\C:\Windows
, giải quyết thành \Global??\C:\Windows
. Thiết bị DOS "C:" ổ đĩa chữ là một liên kết tượng trưng cho thiết bị âm lượng NT. Mục tiêu cuối cùng phụ thuộc vào hệ thống. Ví dụ: đường dẫn NT cuối cùng có thể giải quyết thành \Device\HarddiskVolume2\Windows
.
Các liên kết thiết bị DOS như Volume{00000000-0000-0000-0000-000000000000}
được tạo bởi trình quản lý điểm gắn kết. Chúng là keo giữa các ký tự ổ đĩa liên tục, các điểm gắn kết NTFS và thiết bị âm lượng NT hiện đang được sử dụng, chẳng hạn như \Device\HarddiskVolume2
.
Không tắt chủ đề. Chỉ quan tâm đến người lập trình. –
Ngữ cảnh là gì? \ ?? đường dẫn trình quản lý đối tượng NT và \\ là gì? là ký hiệu đường dẫn thô được sử dụng để vượt qua giới hạn độ dài đường dẫn/mở rộng –
@AlexK: Tôi tin rằng đó là '\\. \' không '\\? \'? –