Condividi tramite


ORPC_DBG_BUFFER struttura

La struttura ORPC_DBG_BUFFER è il formato del buffer usato per eseguire il marshalling dei dati RPC ai metodi dell'interfaccia IOrpcDebugNotify .

Sintassi

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;

Members

alwaysOrSometimes

Valore che controlla la generazione di debugger. alwaysOrSometimes può essere uno dei valori seguenti:

Valore Significato
ORPC_DEBUG_ALWAYS
0x00000000
Se impostato, COM genererà sempre la notifica del client o del server nel ricevitore.
ORPC_DEBUG_IF_HOOK_ENABLED
0x00000001
Se impostato, COM genererà solo la notifica del client o del server nel ricevitore se il debug COM è stato abilitato chiamando DllDebugObjectRPCHook in tale processo con fTrace impostato su TRUE.

verMajor

Numero di versione principale della specifica del formato dati.

verMinor

Numero di versione secondaria della specifica del formato dati.

cbRemaining

Numero di byte, inclusivo di cbRemaining, che segue in questa struttura.

guidSemantic

GUID che determina i membri dell'unione sono presenti di seguito. guidSemantic può accettare uno dei valori seguenti:

Valore Significato
9CADE560-8F43-101A-B07B-00DD01113F11
Determina se l'esecuzione di un'istruzione singola deve essere eseguita dal debugger. Di seguito è presente solo il membro fStopOnOtherSide dell'unione.
D62AEDFA-57EA-11ce-A964-00AA06C3706
Determina se i dati con marshalling RPC e i codici opcode di debug vengono passati al ricevitore. Tutti i membri dell'unione sono presenti sotto con l'eccezione di fStopOnOtherSide.

fStopOnOtherSide

Se TRUE, il passaggio singolo viene eseguito dal debugger e deve uscire dal server e continuare l'esecuzione una volta raggiunto l'altro lato. In caso contrario, l'esecuzione di un singolo passaggio non viene eseguita e l'esecuzione del debugger si arresta sull'altro lato.

wDebuggingOpCode

Valore che consente di specificare una serie di operazioni. wDebuggingOpCode può accettare uno dei valori seguenti:

Valore Significato
0x0000
Nessuna operazione.
0x0001
Se impostata, la semantica a singolo passaggio è identica a fStopOnOtherSide quando è impostata su TRUE.

cExtent

Imbottitura. Non usare.

padding

Imbottitura. Non usare.

Cb

Dimensioni, in byte dei dati in rgbData.

guidExtent

GUID che determina il tipo di dati in rgbData. guidExtent può accettare uno dei valori seguenti:

Valore Significato
53199051-57EB-11ce-A964-00AA06C3706
rgbData è un puntatore dell'interfaccia marshalled.

rgbData

Buffer BYTE usato per passare i dati COM marshalled RPC tra i debugger client e server. Il contenuto di rgbData è determinato dal GUID in guidExtent.

guidExtent Value contenuto rgbData
53199051-57EB-11ce-A964-00AA06C3706 Puntatore dell'interfaccia marshalled che comporta la chiamata a CoMarshalInterface. Il puntatore marshalled viene convertito nel puntatore dell'interfaccia corrispondente usando CoUnmarshalInterface.

Commenti

Questi membri di questa struttura hanno allineamento a 1 byte e vengono sempre trasmessi in ordine di byte little-endian.

Requisiti

Requisito Valore
Client minimo supportato
Windows 2000 Professional [solo app desktop]
Server minimo supportato
Windows 2000 Server [solo app desktop]
Intestazione
N/D

Vedi anche

ORPC_DBG_ALL

ORPC_INIT_ARGS

DllDebugObjectRPCHook

IOrpcDebugNotify