WikiDer > OBJREF
OBJREF это название структуры выстроен интерфейсы в COM и DCOM. Поскольку COM-интерфейсы могут быть вызваны только непосредственно из контекста (например, потока, процесса или машины), в котором они возникли, когда они необходимы в другом контексте, они упорядочиваются в этой структуре, которая затем передается в контекст назначения, где она неупорядочивается. к прокси-серверу, который обеспечивает необходимую связь, например, передает сообщения или сетевые пакеты или упорядочивает другие интерфейсы, передаваемые в вызовах.[1][2]
Формат
Планировка конструкции следующая:[3][4]
Компенсировать | Размер | Описание |
---|---|---|
0 | 4 | Подпись: "МЯУ" |
4 | 4 | Флаг, указывающий на вид конструкции |
8 | 16 | Идентификатор интерфейса |
Флаг = 1: стандартный | ||
24 | 4 | Флаги, в основном зарезервированные для системы, но могут использоваться для отключения проверки связи с объектами.[5] |
28 | 4 | Количество ссылок |
32 | 8 | OXID - идентификатор экспортера объекта[6] |
40 | 8 | OID - идентификатор объекта[6] |
48 | 16 | IPID - идентификатор указателя интерфейса[7] |
64 | Переменная | ДУАЛЬСТРИНГАРРЕЙ |
Flag = 2: обработчик (расширение стандарта)[8] | ||
64 | 16 | Идентификатор класса класса, который будет использоваться в качестве обработчика интерфейса, т.е. находиться между клиентом и прокси. |
80 | Переменная | ДУАЛЬСТРИНГАРРЕЙ |
Flag = 4: настраиваемый маршаллинг[9] | ||
24 | 16 | Идентификатор класса настраиваемого прокси |
40 | 4 | 0 (зарезервированное значение) |
44 | 4 | Размер данных ниже |
48 | Переменная | Пользовательские данные маршаллинга |
Flag = 8: расширенный (также расширение стандарта)[10] | ||
64 | 4 | Подпись "ВЫСН" |
68 | Переменная | ДУАЛЬСТРИНГАРРЕЙ |
4 | 1 (исторически количество элементов данных ниже, но всегда есть только один элемент) | |
4 | Подпись "ВЫСН" | |
Элемент данных, используемый для идентификации и маршалинга контекста посланника:[11][12][13] | ||
16 | Идентификатор контекста[14] | |
4 | Размер данных ниже без учета отступов | |
4 | Размер данных ниже, включая отступы | |
8n | Упорядоченный контекст посланника, дополненный до кратного восьми байтам |
Макет DUALSTRINGARRAY:[15][16]
Компенсировать | Размер | Описание |
---|---|---|
0 | 2 | Общее количество записей в массивах ниже, включая нули |
2 | 2 | Количество записей в массиве, представляющих привязки строк |
4 | 2n | Привязки строк и безопасности |
Привязки строк оканчивающийся нулем записи, определяющие информацию о подключении, например IP-адреса, а привязки безопасности - это записи с завершающим нулем, определяющие информацию аутентификации. Оба массива также завершаются нулем.
Рекомендации
- ^ Тим Эвальд (2006-03-2001). «Механика COM +». Информит. Pearson Education и Addison-Wesley Professional. Получено 2008-09-07.
- ^ Майк Хирн (2005-01-22). "Дополнительные примечания DCOM". Список разработчиков Wine. Codeweavers. Получено 2008-09-07.
- ^ "dcom.idl". Вино. CodeWeavers. 2003 г.. Получено 2008-09-06.
- ^ Дхарма Шукла (1998). "ShowMeMyOBJREF". Получено 2008-09-07. (Это пример кода для проверки содержимого OBJREF.)
- ^ Эддон, Гай; Эддон, Генри (март 1998). «Понимание проводного протокола DCOM путем анализа сетевых пакетов данных». Журнал Microsoft Systems. Microsoft. Получено 2008-09-07.
- ^ а б "Главный глоссарий протоколов Windows: O". MSDN. Microsoft. Получено 2008-09-06.
идентификатор экспортера объекта (OXID): 64-битное число, однозначно идентифицирующее экспортер объектов внутри объектного сервера. … Идентификатор объекта (OID): (1) В контексте сервера объектов - 64-битное число, однозначно идентифицирующее объект.
- ^ «Главный глоссарий протоколов Windows: I». MSDN. Microsoft. Получено 2008-09-06.
идентификатор указателя интерфейса (IPID): 128-битное число, однозначно идентифицирующее интерфейс объекта в экспортере объекта.
- ^ «OBJREF_HANDLER». MSDN. Microsoft. Получено 2008-09-06.
- ^ «OBJREF_CUSTOM». MSDN. Microsoft. Получено 2008-09-07.
- ^ «OBJREF_EXTENDED». MSDN. Microsoft. Получено 2008-09-06.
- ^ «Свойства контекста». MSDN. Microsoft. Получено 2008-09-07.
- ^ «Свойства контекста и маршалинг». MSDN. Microsoft. Получено 2008-09-07.
- ^ «Главный глоссарий протоколов Windows: E». MSDN. Microsoft. Получено 2008-09-07.
envoy context: контекст, который маршалируется и возвращается клиенту в результате получения ссылки на объект.
- ^ «Главный глоссарий протоколов Windows: C». MSDN. Microsoft. Получено 2008-09-07.
context: набор свойств контекста, описывающих среду выполнения. sqq.
- ^ "ДУАЛЬСТРИНГАРРЕЙ". MSDN. Microsoft. Получено 2008-09-06.
- ^ Эддон, Гай; Эддон, Генри (1999). «Маршалированные указатели интерфейса». In Stroo, Эрик; Тернер, Алиса; Янг, Марк; Чанг, Ина (ред.). Внутренние службы COM + Base. Редмонд: Microsoft Press. ISBN 0-7356-0728-1.
Этот Майкрософт Виндоус статья - это заглушка. Вы можете помочь Википедии расширяя это. |