категории | RSS

Видел на форуме и сайте кучу вопросов, таких как:
-"А че такое уид??"
-"Зачем нужен uid?"
-"Где взять этот uid?"
-"Что такое, и с чем едят uid?"
-"Расскажите про уид!"
И вот, решил написать статейку для непосвященных =)
Итак, начнем...
UID - это составной идентификатор, с помощью которого идентифицируются объекты в Symbian OS. UID состоит из трех 32-битных отдельных чисел. Эти числа, называются компонетами
UID и обычно когда о них заходит речь, на них ссылаются как на UID1-, UID2- и UID3-компоненты. В Symbian OS UID'ы используются в самых различных случаях:
- UID-ы используются для идентификации типов различных объектов как во время исполнения так и во
время загрузки. Например исполняемые файлы, DLL, файловые хранилица и многое другое имеет свои собственные
UID.
- UID-ы используютя для проверки, что объект, который предполается загрузить обеспечит совместимый
и ожидаемый от него интерфейс.Таким образом можно проверить, что DLL относится к ожидаемому типу
или что используемое файловое хранилище имеет строго определнный тип.
- UID-ы - это значения которые однозначно связывают документы и приложения для их обработки. Например,
графические приложения с определенной программой их просмотра.

В Symbian OS UID-ы используются повсеместно для разнообразных идентификаций типов
файлов и увязки файлов с теми или иными приложениями. Конечно, пользователю более понятны обычные
имена файлов и Symbian OS гибко поддерживает имена файлов различной длинны. Но с точки зрения системы,
32-битные номера обеспечивают большую однозначность, систематичность и более легкую идентификацию.
Поэтому UID-ы являются фундаметальной характеристикой ОС.

По определению, UID-тип объекта состоит из трех отдельных UID-ов используемых
в комбинациях. Составные компоненты UID-ов называются UID1, UID2 и UID3 имеют следующие основные
характеристики:
- UID1- может быть рассмотрен как идентификатор на уровне системы; например, исполняемые файлы,
DLL, файловые хранилища все различаются по UID1.
- UID2-различия между объектами имеющими один и тот же UID1 и могут быть рассмотрены как идентификатор
интерфейса; например, статический интерфейс (разделяемая библиотека) и полиморфический интерфейс
(приложение или встраеваемая программная оболочка) DLL-ки отличаются по UID2.
- UID3-идентифицирует объекты, имеющие конкретный UID2 и может рассматриваться как идентификатор
проекта; например, UID3 может быть разделен между всеми объектами, принадлежащими данной программе,
включая библиотеки, если имеются, DLL-ки каркасов,и все документы.

UID-тип это объект типа TUidType, которой можно создать из комбинаций всех
или некоторых из трех возможных UID-ов. Если переменная имеет прелставляет собой UID, то можно выяснить
и значения составляющих её компонентов UID1, UID2 и UID3.

Объект в Symbian OS и, особенно, многие файлы в Symbian OS могут иметь все, несколько,
или вообще не иметь не одного из трех возможных UID-ов.
Вариант с отсутсвием UID-ов необходим для того, чтобы можно было взаимодействовать
с другими системами, позволяя легко и свободно использовать по назначению в Symbian OS не родные
файлы данных. Symbian OS позволяет создавать настраиваемые файловые ассоциации и идентификации даже
когда UID-ы отсутсвуют. Это делается по расширениям имен файлов.

Каждый "родной" документ должен иметь соотвествующий UID1. его значение задается
приложением, создавщим этот документ.

Необходимым является только UID1, но в большинстве случаев разработчики захотят
определить второй и третий UID-ы для документов, которые создает и использует их приложение. Значения
этих UID используются каркасом архитектуры приложения, чтобы управлять связями между приложениями
и их документами. Например, это позволяет при открытии файла определить и запустить связанное с ним
приложение, а также правильно отображать иконку этого приложения, возле файла документа. И наоборот
это позволяет приложению, отсортировывать свои файлы среди прочих.

UID задается из диапазона 0х01000000 до 0x0fffffff.

UID можно в любое время посмотреть, зайдя например в программу SmartFileMan, и нажав клавишу "5" на нужном файле.На экране появятся все три UID-a...

DimonVideo
2007-05-01T01:49:56Z
Здесь находятся
всего 0. За сутки здесь было 0 человек

Комментарии 14

#14   Felix.potter    

статья полезная, но не для новичков.
Однако разберем по подробнее:
уид является, говоря простым языком комбинацией шестнадцатеричных чисел. Следовательно, если так, то уид бывает в диапазоне 0x00000000- 0xf. Так же помните, что это не бинарный код, а значит 1 байт- это 2 понятных нам символа. Но не забываем, что 1 байт- это 8 бит, а уид- это 8 знаков т.е. 32 бит.
Так же в симбиан бывают защищеные уиды, которые не любой сертификат подпишет.
Защищеные- это от 0х0 до 0х7, а незащищеные 0x8- 0xf.


0 ответить

#14   Den N78blak    

а как перебить уид например у оперы мобал чтоб две рядом поставить? Если можно напишите в личку


0 ответить

#14   Daniil33    

Да, что то ты перестарался. Статья на мой взгляд не для новичков. Лично я, ничего особо то и не понял.


0 ответить

#14   Josif    

Огромное спасибо!Дошло наконец.Еще вопрос:а X-plore 1.05 может просмотреть существующие UID_ы?Лови +


0 ответить

#14   Divul    

Спасибо чел за нужную в самом конце, а то до нее я думал двинусь в этой статье для "новичков".


0 ответить

#14   atrant    

осталось добавить, что, наконец, smartfile man просто смотрит первые четверки байт. Ибо, думается, на текстовом файле он тоже увидит уиды? если присвоить расширение app =)


0 ответить

#14   dentist46rus    

неплохая статья, но не для новичков


0 ответить

#14   Oleg774    

Думаю новичкам для ориентирования пригодиться, а кто захочет понять глубже, в библиотеку..


0 ответить

#14   Pro Skater    

G.F.Ferre, ну ты даешь, написал бы лучше что это как порядковый номер к программам, иконкам и еще прочей чепухе.Действительно язык можно сломать.Типа из серии "С точки зрения банальной эрудиции ...". А так в принципе молодец что постарался.smile


0 ответить

Яндекс.Метрика