ORPC _ DBG _ BUFFER-Struktur

Die ORPC _ DBG _ BUFFER-Struktur ist das Pufferformat, das zum Marshallen von RPC-Daten zu den Methoden der IOrpcDebugNotify-Schnittstelle verwendet wird.

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 Debugger-Spawning steuert. alwaysOrSometimes kann einer der folgenden Werte sein:

Wert Bedeutung
ORPC _ DEBUGGEN _ VON ALWAYS
0X00000000
Wenn festgelegt, gibt COM immer die Client- oder Serverbenachrichtigung auf dem Empfänger aus.
ORPC _ _DEBUGGEN, WENN _ HOOK _ AKTIVIERT
0X00000001
Wenn festgelegt, gibt COM nur dann die Client- oder Serverbenachrichtigung auf dem Empfänger aus, wenn das COM-Debuggen aktiviert wurde, indem DllDebugObjectRPCHook in diesem Prozess mit fTrace auf TRUE festgelegt wird.

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 einzelne Einzelschritte vom Debugger ausgeführt werden sollen. Unten ist nur das fStopOnOtherSide-Member der Union vorhanden.
D62AEDFA-57EA-11ce-A964-00AA006C3706
Bestimmt, ob RPC-marshallte Daten und Debugopcodes an den Empfänger übergeben werden. Alle Member der Union sind unten mit Ausnahme von fStopOnOtherSide vorhanden.

fStopOnOtherSide

True gibt an, dass ein einzelner Schritt vom Debugger ausgeführt wird, und er sollte den Server schrittweise beenden und die Ausführung fortsetzen, sobald die andere Seite erreicht ist. Andernfalls wird kein einzelner Einzelschritt ausgeführt, und die Debuggerausführung wird auf der anderen Seite beendet.

wDebuggingOpCode

Ein -Wert, der die Angabe einer Reihe von Vorgängen ermöglicht. wDebuggingOpCode kann einen der folgenden Werte verwenden:

Wert Bedeutung
0x0000
Keine Operation.
0x0001
Wenn festgelegt, ist die Einzelschrittsemantik mit fStopOnOtherSide identisch, 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 Bytes.

guidExtent

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

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

rgbData

Ein BYTE-Puffer, der verwendet wird, um PER RPC marshallte COM-Daten zwischen client- und serverdebuggern zu übergeben. Der Inhalt von rgbData wird durch die GUID in guidExtent bestimmt.

guidExtent-Wert rgbData-Inhalte
53199051-57EB-11ce-A964-00AA006C3706 Ein marshallter Schnittstellenzeiger, der sich aus dem Aufruf von CoMarshalInterface ergibt. Der marshalled-Zeiger wird mithilfe von CoUnmarshalInterfacein den entsprechenden Schnittstellenzeiger konvertiert.

Hinweise

Diese Member dieser Struktur haben eine 1-Byte-Ausrichtung und werden immer in Little-Endian-Byte-Reihenfolge ü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

Weitere Informationen

ORPC _ DBG _ ALL

ORPC _ INIT _ ARGS

DllDebugObjectRPCHook

IOrpcDebugNotify