OBJREF

OBJREF

OBJREF is the name of the structure of marshalled interfaces in COM and DCOM. Because COM interfaces can only be called directly from the context (like a thread, process or machine) where they originated, when they are needed in another context they are marshalled in this structure, which is then passed to the destination context where it is unmarshalled to a proxy that takes care of the necessary communication, for example passing messages or network packets or marshalling other interfaces passed in calls.[1][2]

Format

The layout of the structure is as follows:[3][4]

More information Offset, Size ...

The layout of DUALSTRINGARRAY is:[15][16]

More information Offset, Size ...

The string bindings are null-terminated records specifying connection information, like IP addresses, and the security bindings are null-terminated records specifying authentication information. Both arrays are null-terminated too.


References

  1. Tim Ewald (2001-03-06). "The Mechanics of COM+". Informit. Pearson Education & Addison-Wesley Professional. Retrieved 2008-09-07.
  2. Mike Hearn (2005-01-22). "More DCOM notes". Wine Developer's List. Codeweavers. Retrieved 2008-09-07.
  3. "dcom.idl". Wine. CodeWeavers. 2003. Retrieved 2008-09-06.
  4. Dharma Shukla (1998). "ShowMeMyOBJREF". Retrieved 2008-09-07. (This is example code to inspect the contents of an OBJREF.)
  5. Eddon, Guy; Eddon, Henry (March 1998). "Understanding the DCOM Wire Protocol by Analyzing Network Data Packets". Microsoft Systems Journal. Microsoft. Retrieved 2008-09-07.
  6. "Windows Protocols Master Glossary: O". MSDN. Microsoft. Retrieved 2008-09-06. object exporter identifier (OXID): A 64-bit number that uniquely identifies an object exporter within an object server. … object identifier (OID): (1) In the context of an object server, a 64-bit number that uniquely identifies an object.
  7. "Windows Protocols Master Glossary: I". MSDN. Microsoft. Retrieved 2008-09-06. interface pointer identifier (IPID): A 128-bit number that uniquely identifies an interface on an object within an object exporter.
  8. "OBJREF_HANDLER". MSDN. Microsoft. Retrieved 2008-09-06.
  9. "OBJREF_CUSTOM". MSDN. Microsoft. Retrieved 2008-09-07.
  10. "OBJREF_EXTENDED". MSDN. Microsoft. Retrieved 2008-09-06.
  11. "Context Properties". MSDN. Microsoft. Retrieved 2008-09-07.
  12. "Context Properties and Marshaling". MSDN. Microsoft. Retrieved 2008-09-07.
  13. "Windows Protocols Master Glossary: E". MSDN. Microsoft. Retrieved 2008-09-07. envoy context: A context that is marshaled and returned to a client as a result of obtaining an object reference.
  14. "Windows Protocols Master Glossary: C". MSDN. Microsoft. Retrieved 2008-09-07. context: A collection of context properties that describe an execution environment. sqq.
  15. "DUALSTRINGARRAY". MSDN. Microsoft. Retrieved 2008-09-06.
  16. Eddon, Guy; Eddon, Henry (1999). "Marshaled Interface Pointers". In Stroo, Eric; Turner, Alice; Young, Marc; Chang, Ina (eds.). Inside COM+ Base Services. Redmond: Microsoft Press. ISBN 0-7356-0728-1.



Share this article:

This article uses material from the Wikipedia article OBJREF, and is written by contributors. Text is available under a CC BY-SA 4.0 International License; additional terms may apply. Images, videos and audio are available under their respective licenses.