다음을 통해 공유


ORPC_DBG_BUFFER 구조체

ORPC_DBG_BUFFER 구조체는 RPC 데이터를 IOrpcDebugNotify 인터페이스의 메서드로 마샬링하는 데 사용되는 버퍼 형식입니다.

구문

typedef struct _ORPC_DBG_BUFFER {
  DWORD alwaysOrSometimes;
  BYTE  verMajor;
  BYTE  verMinor;
  DWORD cbRemaining;
  GUID  guidSemantic;
  union {
    BOOL   fStopOnOtherSide;
    USHORT wDebuggingOpCode;
    USHORT cExtent;
    BYTE   padding[2];
    struct {
      ULONG cb;
      GUID  guidExtent;
      BYTE  *rgbData;
    };
  };
} ORPC_DBG_BUFFER, *PORPC_DBG_BUFFER;

멤버

alwaysOrSometimes

디버거 생성을 제어하는 값입니다. alwaysOrSometimes는 다음 값 중 하나일 수 있습니다.

의미
ORPC_DEBUG_ALWAYS
0x00000000
설정되면 COM은 항상 수신자에서 클라이언트 또는 서버 알림을 발생합니다.
ORPC_DEBUG_IF_HOOK_ENABLED
0x00000001
설정된 경우 COM 디버깅이 FTraceTRUE로 설정된 해당 프로세스에서 DllDebugObjectRPCHook를 호출하여 활성화된 경우에만 COM이 수신자에서 클라이언트 또는 서버 알림을 발생합니다.

verMajor

데이터 형식 사양의 주 버전 번호입니다.

verMinor

데이터 형식 사양의 부 버전 번호입니다.

cbRemaining

이 구조에서 이어지는 cbRemaining을 포함하는 바이트 수입니다.

guidSemantic

아래에 있는 공용 구조체의 구성원을 결정하는 GUID입니다. guidSemantic 은 다음 값 중 하나를 사용할 수 있습니다.

의미
9CADE560-8F43-101A-B07B-00DD01113F11
디버거에서 단일 단계를 수행할지 여부를 결정합니다. 아래는 공용 구조체의 fStopOnOtherSide 멤버만 있습니다.
D62AEDFA-57EA-11ce-A964-00AA006C3706
RPC 마샬링된 데이터 및 디버깅 opcode가 수신기에 전달되는지 여부를 결정합니다. fStopOnOtherSide를 제외한 모든 공용 구조체 구성원이 아래에 있습니다.

fStopOnOtherSide

TRUE이면 디버거에서 단일 단계를 수행하며, 서버에서 나가서 다른 쪽에 도달하면 실행을 계속해야 합니다. 그렇지 않으면 단일 단계가 수행되지 않고 디버거 실행이 다른 쪽에서 중지됩니다.

wDebuggingOpCode

일련의 작업 중 하나를 지정할 수 있는 값입니다. wDebuggingOpCode 는 다음 값 중 하나를 사용할 수 있습니다.

의미
0x0000
작동하지 않습니다.
0x0001
설정된 경우 단일 단계 의미 체계는 TRUE로 설정된 경우 fStopOnOtherSide와 동일합니다.

cExtent

패딩. 사용하지 마십시오.

padding

패딩. 사용하지 마십시오.

Cb

rgbData에 있는 데이터의 크기(바이트)입니다.

guidExtent

rgbData의 데이터 형식을 결정하는 GUID입니다. guidExtent 는 다음 값 중 하나를 사용할 수 있습니다.

의미
53199051-57EB-11ce-A964-00AA006C3706
rgbData 는 마샬링된 인터페이스 포인터입니다.

rgbData

클라이언트와 서버 디버거 간에 RPC 마샬링된 COM 데이터를 전달하는 데 사용되는 BYTE 버퍼입니다. rgbData의 내용은 guidExtentGUID에 의해 결정됩니다.

guidExtent 값 rgbData 콘텐츠
53199051-57EB-11ce-A964-00AA006C3706 CoMarshalInterface를 호출한 결과 마샬링된 인터페이스 포인터입니다. 마샬링된 포인터는 CoUnmarshalInterface를 사용하여 해당 인터페이스 포인터로 변환됩니다.

설명

이 구조체의 이 멤버는 1 바이트 맞춤을 가지며 항상 little-endian 바이트 순서로 전송됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버
Windows 2000 Server[데스크톱 앱만]
헤더
해당 없음

참고 항목

ORPC_DBG_ALL

ORPC_INIT_ARGS

DllDebugObjectRPCHook

IOrpcDebugNotify