Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
ORPC_DBG_BUFFER

ORPC_DBG_BUFFER structure

The ORPC_DBG_BUFFER structure is the buffer format used to marshalled RPC data to the methods of the IOrpcDebugNotify interface.

Syntax


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;

Members

alwaysOrSometimes

A value that controls debugger spawning. alwaysOrSometimes can be one of the following values:

ValueMeaning
ORPC_DEBUG_ALWAYS
0x00000000

If set, COM will always raise the client or server notification on the receiver.

ORPC_DEBUG_IF_HOOK_ENABLED
0x00000001

If set, COM will only raise the client or server notification on the receiver if COM debugging has been enabled by calling DllDebugObjectRPCHook in that process with fTrace set to TRUE.

 

verMajor

The major version number of the data format specification.

verMinor

The minor version number of the data format specification.

cbRemaining

The number of bytes, inclusive of cbRemaining, that follow in this structure.

guidSemantic

A GUID that determines which members of the union are present below. guidSemantic can take one of the following values:

ValueMeaning
9CADE560-8F43-101A-B07B-00DD01113F11

Determines if single stepping is to be performed by the debugger. Only the fStopOnOtherSide member of the union is present below.

D62AEDFA-57EA-11ce-A964-00AA006C3706

Determines if RPC marshalled data and debugging opcodes are passed to the receiver. All of the members of the union are present below with the exception of fStopOnOtherSide.

 

fStopOnOtherSide

If TRUE, single stepping is performed by the debugger and it should step out of the server and continue execution once the other side is reached. Otherwise, single stepping is not performed and debugger execution stops on the other side.

wDebuggingOpCode

A value that allows for one of a series of operations to be specified. wDebuggingOpCode can take one of the following values:

ValueMeaning
0x0000

No operation.

0x0001

If set, single step semantics are identical to fStopOnOtherSide when set to TRUE.

 

cExtent

Padding. Do not use.

padding

Padding. Do not use.

cb

The size, in bytes of the data in rgbData.

guidExtent

A GUID that determines the type of data in rgbData. guidExtent can take one of the following values:

ValueMeaning
53199051-57EB-11ce-A964-00AA006C3706

rgbData is a marshalled interface pointer.

 

rgbData

A BYTE buffer used to pass RPC marshalled COM data between the client and server debuggers. The contents of rgbData are determined by the GUID in guidExtent.

guidExtent ValuergbData contents
53199051-57EB-11ce-A964-00AA006C3706 A marshalled interface pointer that results from calling CoMarshalInterface. The marshalled pointer is converted into its corresponding interface pointer using CoUnmarshalInterface.

 

Remarks

This members of this structure have 1-byte alignment and are always transmitted in little-endian byte order.

Requirements

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Header

N/A

See also

ORPC_DBG_ALL
ORPC_INIT_ARGS
DllDebugObjectRPCHook
IOrpcDebugNotify

 

 

Community Additions

ADD
Show:
© 2015 Microsoft