ORPC_DBG_ALL structure

The ORPC_DBG_ALL structure is used to pass parameters to the methods of the IOrpcDebugNotify interface.

Note

Each method of the IOrpcDebugNotify interface uses a different combination of the members below. If a member is not indicated as used by a method, it is undefined when passed to that method.

Syntax

typedef struct ORPC_DBG_ALL {
  BYTE              *pSignature;
  RPCOLEMESSAGE     *pMessage;
  const IID         *refiid;
  IRpcChannelBuffer *pChannel;
  IUnknown          *pUnkProxyMgr;
  void              *pInterface;
  IUnknown          *pUnkObject;
  HRESULT           hresult;
  void              *pvBuffer;
  ULONG             *cbBuffer;
  ULONG             *lpcbBuffer;
  void              *reserved;
} ORPC_DBG_ALL, *LPORPC_DBG_ALL;

Members

pSignature

A pointer to a BYTE buffer that contains:

  • First four bytes: the ASCII characters "MARB" in increasing memory order.
  • Next 16 bytes: A GUID that identifies the notification being called. It contains one of the following:
    1. ClientGetBufferSize: 9ED14F80-9673-101A-B07B-00DD01113F11
    2. ClientFillBuffer:DA45F3E0-9673-101A-B07B-00DD01113F11
    3. ClientNotify:4F60E540-9674-101A-B07B-00DD01113F11
    4. ServerNotify:1084FA00-9674-101A-B07B-00DD01113F11
    5. ServerGetBufferSize:22080240-9674-101A-B07B-00DD01113F11
    6. ServerFillBuffer:2FC09500-9674-101A-B07B-00DD01113F11
  • Next four-bytes: Reserved for future use.

Note

Used by all methods of the IOrpcDebugNotify interface.

pMessage

A pointer to an RPCOLEMESSAGE structure that contains RPC data marshalling information.

refiid

A pointer to the IID of the IOrpcDebugNotify interface.

pChannel

A pointer to the IRpcChannelBuffer interface of the COM RPC channel implementation on the server.

Note

Used by the ServerFillBuffer, ServerGetBufferSize, and ServerNotify methods.

pUnkProxyMgr

A pointer to the IUnknown interface of the object involved in this debugger invocation. May be NULL, however, this reduces debugger functionality.

Note

Used by the ClientFillBuffer, ClientGetBufferSize, and ClientNotify methods.

pInterface

A pointer to the COM interface of the method that will be invoked by this RPC. Must not be NULL.

Note

Used by the ServerFillBuffer, ServerGetBufferSize, and ServerNotify methods.

pUnkObject

Must be NULL.

Note

Used by the ServerFillBuffer, ServerGetBufferSize, and ServerNotify methods.

hresult

This member's purpose changes for each of the notifications below:

ClientGetBufferSize: the number of bytes the client debugger will transmit to the server debugger. If zero, no information need be transmitted.

ClientNotify: the HRESULT of the last RPC.

ServerGetBufferSize: the number of bytes the client debugger will transmit to the server debugger. If zero, no information need be transmitted.

Note

Used by the ClientGetBufferSize, ClientNotify, and ServerGetBufferSize methods.

pvBuffer

A pointer to an ORPC_DBG_BUFFER structure that contains the RPC marshalled debug information. Is undefined if cbBuffer is zero.

Note

Used by the ClientFillBuffer, ClientNotify, ServerFillBuffer, and ServerNotify methods.

cbBuffer

The length, in bytes, of the data pointed to by pvBuffer.

Note

Used by the ClientFillBuffer, ClientNotify, ServerFillBuffer, and ServerNotify methods.

lpcbBuffer

The number of bytes the client debugger will transmit to the server debugger. If zero, no information need be transmitted. This value supersedes the value returned in hresult.

Note

Used by the ClientFillBuffer, ClientGetBufferSize methods.

reserved

Reserved. Do not use.

Requirements

Requirement Value
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_BUFFER

ORPC_INIT_ARGS

DllDebugObjectRPCHook

IOrpcDebugNotify