Вверх ↑
Ответов: 2358
Рейтинг: 683
#1: 2025-03-30 21:19:04 ЛС | профиль | цитата
tom-it, спасибо что откликнулся! Это помогло посмотреть еще раз и понять проблему. Код переделал все работает, но добавились вопросы по оформлению вывода данных из элемента.
sla8a писал(а):
так лучше
Нет никаких обрезаний или замен не нужно точно.

И так что имеем.
Во первых, символическая ссылка может быть:
- MOUNT_POINT
- SYMLINK
Если глубоко не копать то это одни и те же данные о пути. Вопрос в том нужно ли эта информация в событии.

Во вторых, если ссылка SYMLINK, то в данных есть флаг который говорит о том что содержащийся в ссылки путь:
- (значение 0) полный путь
- (значение 1) путь относительно каталога, содержащего символическую ссылку
У меня ни на одном компьютере нет символической ссылки SYMLINK с значением 1 (см. test_screenshot строки 2,4 колонка FL) . В теории то понятно как она выглядит, но вот хотелось бы протестировать. И опять таки вопрос надо ли выдавать эти данные.

В третьих, символическая ссылка содержит две строки:
-одна строка (от SubstituteNameOffset и длинной SubstituteNameLength ) путь с дополнительными символами \??\ (да возможно и не только с этими символами)
-вторая строка (от PrintNameOffset и длинной PrintNameLength) путь без лишнего
Вот это меня по первому времени и запутало так как они могут идти и не по порядку (см. test_screenshot выделенную строку). Как по мне то достаточно будет PrintName.

На данный момент тестовая схема выдает только PrintName Arg(path). Нужно ли выдавать другие данные? К примеру Arg(Path,SubPath,TypeLink,SubFlag), где Path - PrintName, SubPath - SubstituteName, TypeLink - тип символическая ссылки (скорее всего число) и SubFlag - 0 - полный путь SubstituteName или 1 - относительный.

test_screenshot

Символ # заменяет \0.
На мусор в конце строк не обращайте внимание, это для тестирования.
Ref.. - это полный объем данных
SNO - SubstituteNameOffset
SNL - SubstituteNameLength
PNO - PrintNameOffset
PNL - PrintNameLength
FL - флаг (описание "во вторых")

Архив в первом посте перезалил.
карма: 11

0
Редактировалось 3 раз(а), последний 2025-03-30 21:27:19