Поделиться через


структура ORPC_DBG_BUFFER

Структура ORPC_DBG_BUFFER — это формат буфера, используемый для маршалирования данных RPC в методы интерфейса IOrpcDebugNotify .

Синтаксис

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;

Члены

alwaysOrSometimes

Значение , управляющее порождением отладчика. AlwaysOrSometimes может иметь одно из следующих значений:

Значение Значение
ORPC_DEBUG_ALWAYS
0x00000000
Если этот параметр задан, COM всегда будет вызывать уведомление клиента или сервера на получателе.
ORPC_DEBUG_IF_HOOK_ENABLED
0x00000001
Если этот параметр задан, COM вызовет уведомление клиента или сервера на получателе, только если отладка COM была включена путем вызова DllDebugObjectRPCHook в этом процессе с параметром fTrace , для которого задано значение TRUE.

verMajor

Основной номер версии спецификации формата данных.

verMinor

Дополнительный номер версии спецификации формата данных.

cbRemaining

Число байтов, включая cbRemaining, следующее в этой структуре.

guidSemantic

GUID, определяющий, какие члены объединения присутствуют ниже. guidSemantic может принимать одно из следующих значений:

Значение Значение
9CADE560-8F43-101A-B07B-00DD01113F11
Определяет, должен ли отладчик выполнять одношаговую пошаговую проверку. Ниже присутствует только член объединения fStopOnOtherSide .
D62AEDFA-57EA-11ce-A964-00AA006C3706
Определяет, передаются ли получателю маршалированные данные RPC и коды операций отладки. Все члены профсоюза присутствуют ниже, за исключением fStopOnOtherSide.

fStopOnOtherSide

Если задано значение TRUE, отладчик выполняет одношаговую пошаговую проверку и должен выйти из сервера и продолжить выполнение после того, как будет достигнута другая сторона. В противном случае одношаговая пошаговая операция не выполняется, а выполнение отладчика останавливается на другой стороне.

wDebuggingOpCode

Значение , позволяющее указать одну из последовательности операций. wDebuggingOpCode может принимать одно из следующих значений:

Значение Значение
0x0000
Нет операции.
0x0001
Если задано значение , семантика одного шага идентична fStopOnOtherSide , если задано значение TRUE.

cExtent

Заполнение. Не используйте.

padding

Заполнение. Не используйте.

Cb

Размер данных rgbData в байтах.

guidExtent

Guid, определяющий тип данных в rgbData. guidExtent может принимать одно из следующих значений:

Значение Значение
53199051-57EB-11ce-A964-00AA006C3706
rgbData — это указатель маршалированного интерфейса.

rgbData

Буфер BYTE, используемый для передачи маршалированных COM-данных RPC между отладчиками клиента и сервера. Содержимое rgbData определяется guid в guidExtent.

Значение guidExtent Содержимое rgbData
53199051-57EB-11ce-A964-00AA006C3706 Указатель маршалированного интерфейса, который является результатом вызова CoMarshalInterface. Маршалированные указатели преобразуются в соответствующий указатель интерфейса с помощью CoUnmarshalInterface.

Комментарии

Эти элементы этой структуры имеют 1-байтовый выравнивание и всегда передаются в порядке байтов с байтами.

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Н/Д

См. также

ORPC_DBG_ALL

ORPC_INIT_ARGS

DllDebugObjectRPCHook

IOrpcDebugNotify