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 |
|