Freigeben über


ORPC_DBG_BUFFER-Struktur

Die ORPC_DBG_BUFFER-Struktur ist das Pufferformat, das verwendet wird, um RPC-Daten in die Methoden der IOrpcDebugNotify-Schnittstelle zu marshallen .

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;

Member

alwaysOrSometimes

Ein -Wert, der das Erstellen von Debuggern steuert. alwaysOrSometimes kann einer der folgenden Werte sein:

Wert Bedeutung
ORPC_DEBUG_ALWAYS
0x00000000
Wenn dieser Wert festgelegt ist, löst COM immer die Client- oder Serverbenachrichtigung auf dem Empfänger aus.
ORPC_DEBUG_IF_HOOK_ENABLED
0x00000001
Wenn dieser Wert festgelegt ist, löst COM die Client- oder Serverbenachrichtigung auf dem Empfänger nur aus, wenn das COM-Debuggen durch Aufrufen von DllDebugObjectRPCHook in diesem Prozess aktiviert wurde, wobei fTrace auf TRUE festgelegt ist.

verMajor

Die Hauptversionsnummer der Datenformatspezifikation.

verMinor

Die Nebenversionsnummer der Datenformatspezifikation.

cbRemaining

Die Anzahl der Bytes, einschließlich cbRemaining, die in dieser Struktur folgen.

guidSemantic

Eine GUID, die bestimmt, welche Member der Union unten vorhanden sind. guidSemantic kann einen der folgenden Werte verwenden:

Wert Bedeutung
9CADE560-8F43-101A-B07B-00DD01113F11
Bestimmt, ob ein einzelnes Schrittschritt vom Debugger ausgeführt werden soll. Unten ist nur das fStopOnOtherSide-Element der Union vorhanden.
D62AEDFA-57EA-11ce-A964-00AA006C3706
Bestimmt, ob von RPC gemarshallte Daten und Debug-Opcodes an den Empfänger übergeben werden. Alle Mitglieder der Union sind unten vorhanden, mit Ausnahme von fStopOnOtherSide.

fStopOnOtherSide

Wenn TRUE, wird ein einzelner Schritt vom Debugger ausgeführt. Er sollte den Server verlassen und die Ausführung fortsetzen, sobald die andere Seite erreicht ist. Andernfalls wird kein einzelner Schritt ausgeführt, und die Debuggerausführung wird auf der anderen Seite beendet.

wDebuggingOpCode

Ein -Wert, der es ermöglicht, einen von einer Reihe von Vorgängen anzugeben. wDebuggingOpCode kann einen der folgenden Werte annehmen:

Wert Bedeutung
0x0000
Keine Operation.
0x0001
Wenn festgelegt, ist die Semantik in einem schritt identisch mit fStopOnOtherSide , wenn sie auf TRUE festgelegt ist.

cExtent

Polsterung. Darf nicht verwendet werden.

padding

Polsterung. Darf nicht verwendet werden.

cb

Die Größe der Daten in rgbData in Byte.

guidExtent

Eine GUID , die den Datentyp in rgbData bestimmt. guidExtent kann einen der folgenden Werte annehmen:

Wert Bedeutung
53199051-57EB-11ce-A964-00AA006C3706
rgbData ist ein Marshall-Schnittstellenzeiger.

rgbData

Ein BYTE-Puffer , der verwendet wird, um RPC-gemarshallte COM-Daten zwischen dem Client- und dem Serverdebugger zu übergeben. Der Inhalt von rgbData wird durch die GUID in guidExtent bestimmt.

guidExtent-Wert rgbData-Inhalte
53199051-57EB-11ce-A964-00AA006C3706 Ein Marshall-Schnittstellenzeiger, der sich aus dem Aufruf von CoMarshalInterface ergibt. Der Marshallzeiger wird mithilfe von CoUnmarshalInterface in den entsprechenden Schnittstellenzeiger konvertiert.

Bemerkungen

Diese Member dieser Struktur haben eine 1-Byte-Ausrichtung und werden immer in Little-Endian-Bytereihenfolge übertragen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows 2000 Server [nur Desktop-Apps]
Header
N/V

Siehe auch

ORPC_DBG_ALL

ORPC_INIT_ARGS

DllDebugObjectRPCHook

IOrpcDebugNotify