OBJREF

OBJREF

OBJREFCOMDCOM에 있는 보안 인터페이스 구조의 이름이다.COM 인터페이스는 원래 있던 컨텍스트(예: 스레드, 프로세스 또는 기계)에서만 직접 호출할 수 있기 때문에, 다른 컨텍스트에서 필요할 때 이 구조로 정리되고, 그 다음 필요한 통신을 관리하는 프록시로 전달되지 않는 목적지 컨텍스트로 전달된다.메시지 또는 네트워크 패킷을 전달하거나 호출에서 전달된 다른 인터페이스를 정리함.[1][2]

포맷

구조물의 배치는 다음과 같다.[3][4]

오프셋 크기 설명
0 4 시그니처: 'MEW'
4 4 구조물의 종류를 나타내는 깃발
8 16 인터페이스 식별자
플래그 = 1: 표준
24 4 플래그는 대부분 시스템용으로 예약되었지만 pinging 개체를 끄는 데 사용할 수 있다.[5]
28 4 참조수
32 8 OXID – 객체 내보내기 식별자[6]
40 8 OID – 객체 식별자[6]
48 16 IPID – 인터페이스 포인터 식별자[7]
64 가변적 듀얼 스트링 어레이
플래그 = 2: 핸들러(표준 확장)[8]
64 16 인터페이스 처리기로 사용될 클래스의 클래스 식별자, 즉 클라이언트와 프록시 사이에 위치.
80 가변적 듀얼 스트링 어레이
플래그 = 4: 사용자 정의 마시기[9]
24 16 사용자 지정 프록시의 클래스 식별자
40 4 0(수치)
44 4 아래 데이터 크기
48 가변적 사용자 정의 마시기 데이터
플래그 = 8: 확장(표준 확장)[10]
64 4 서명 'VYSN'
68 가변적 듀얼 스트링 어레이
4 1(아래 데이터 요소의 수를 계산하지만 항상 하나의 요소만 있음)
4 서명 'VYSN'
특사의 컨텍스트를 식별하고 정리하는 데 사용되는 데이터 요소:[11][12][13]
16 컨텍스트 식별자[14]
4 패딩을 제외한 아래 데이터 크기
4 패딩을 포함한 아래 데이터 크기
8n 8바이트의 배수로 채워진 보안 특사의 컨텍스트

듀얼 스트링어레이의 레이아웃은 다음과 같다.[15][16]

오프셋 크기 설명
0 2 아래 배열의 총 항목 수(null 포함)
2 2 배열에서 문자열 바인딩을 나타내는 항목 수
4 2n 문자열 및 보안 바인딩

문자열 바인딩은 IP 주소와 같이 연결 정보를 지정하는 null 종단 처리된 기록이며, 보안 바인딩은 인증 정보를 지정하는 null 종단 처리된 기록이다.두 어레이 모두 null 종단 처리됨.

참조

  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. (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. ^ a b "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.