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
如果设置,如果已通过调用该进程中的 DllDebugObjectRPCHook 来启用 COM 调试,且 fTrace 设置为 TRUE,则 COM 将仅在接收方上引发客户端或服务器通知。 -
verMajor
-
数据格式规范的主版本号。
-
verMinor
-
数据格式规范的次要版本号。
-
cbRemaining
-
此结构中遵循的字节数(包括 cbRemaining)。
-
guidSemantic
-
确定下面存在的工会成员的 GUID。 guidSemantic 可以采用以下值之一:
值 含义 - 9CADE560-8F43-101A-B07B-00DD01113F11
确定调试器是否要执行单步执行。 下面仅存在 工会的 fStopOnOtherSide 成员。 - D62AEDFA-57EA-11ce-A964-00AA006C3706
确定是否将 RPC 封送的数据和调试操作码传递给接收方。 除 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 的内容由 guidExtent 中的 GUID 确定。
guidExtent 值 rgbData 内容 53199051-57EB-11ce-A964-00AA006C3706 由调用 CoMarshalInterface 产生的封送接口指针。 封送的指针使用 CoUnmarshalInterface 转换为其相应的接口指针。
备注
此结构的此成员具有 1 字节对齐方式,并且始终按 little-endian 字节顺序传输。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |
标头 |
|