структура MIDL_STUB_DESC (rpcndr.h)
Структура MIDL_STUB_DESC — это структура, созданная MIDL, которая содержит сведения о заглушку интерфейса, касающуюся вызовов RPC между клиентом и сервером.
Синтаксис
typedef struct _MIDL_STUB_DESC {
void *RpcInterfaceInformation;
void * )(size_t) *(pfnAllocate;
void()(void *) * pfnFree;
union {
handle_t *pAutoHandle;
handle_t *pPrimitiveHandle;
PGENERIC_BINDING_INFO pGenericBindingInfo;
} IMPLICIT_HANDLE_INFO;
const NDR_RUNDOWN *apfnNdrRundownRoutines;
const GENERIC_BINDING_ROUTINE_PAIR *aGenericBindingRoutinePairs;
const EXPR_EVAL *apfnExprEval;
const XMIT_ROUTINE_QUINTUPLE *aXmitQuintuple;
const unsigned char *pFormatTypes;
int fCheckBounds;
unsigned long Version;
MALLOC_FREE_STRUCT *pMallocFreeStruct;
long MIDLVersion;
const COMM_FAULT_OFFSETS *CommFaultOffsets;
const USER_MARSHAL_ROUTINE_QUADRUPLE *aUserMarshalQuadruple;
const NDR_NOTIFY_ROUTINE *NotifyRoutineTable;
ULONG_PTR mFlags;
const NDR_CS_ROUTINES *CsRoutineTables;
void *ProxyServerInfo;
const NDR_EXPR_DESC *pExprInfo;
} MIDL_STUB_DESC;
Члены
RpcInterfaceInformation
Для необъектного интерфейса RPC на стороне сервера он указывает на структуру серверного интерфейса RPC. На стороне клиента он указывает на структуру клиентского интерфейса RPC. Для интерфейса объекта имеет значение NULL.
pfnAllocate
Функция выделения памяти, используемая заглушки. Задайте значение midl_user_allocate для необъектного интерфейса и NdrOleAllocate для интерфейса объекта.
pfnFree
Функция без памяти, используемая заглушка. Задайте значение midl_user_free для необъектного интерфейса и NdrOleFree для интерфейса объекта.
IMPLICIT_HANDLE_INFO
Объединение содержит один из следующих дескрипторов.
IMPLICIT_HANDLE_INFO.pAutoHandle
Указатель на неявный автоматический дескриптор для вызова RPC.
IMPLICIT_HANDLE_INFO.pPrimitiveHandle
Указатель на неявный дескриптор-примитив для вызова RPC.
IMPLICIT_HANDLE_INFO.pGenericBindingInfo
Указатель на сведения о неявном универсальном дескрипторе.
apfnNdrRundownRoutines
Массив выполняемых функций обработки контекста.
aGenericBindingRoutinePairs
Массив указателей функций для связывания и отмены привязки пар функций для неявного универсального дескриптора.
apfnExprEval
Массив указателей функций на функции вычислителя выражений, используемые для оценки сложного соответствия MIDL и различных описаний. Например, size_is(param1 + param2).
aXmitQuintuple
Массив массива указателей функций для определяемых пользователем типов transmit_as и represent_as .
pFormatTypes
Указатель на описание формата типа.
fCheckBounds
Флаг, описывающий заданный пользователем параметр компилятора /error MIDL.
Version
Версия недоставки, необходимая для заглушки.
pMallocFreeStruct
Указатель на структуру MALLOC_FREE_STRUCT, которая содержит указатели функции выделения и свободной функции. Используйте , если указан атрибут MIDL enable_allocate .
MIDLVersion
Версия компилятора MIDL, используемого для компиляции IDL-файла.
CommFaultOffsets
Массив смещения стека для параметров с атрибутами comm_status или fault_status .
aUserMarshalQuadruple
Массив массива указателей функций для определяемых пользователем user_marshal и wire_marshal типов.
NotifyRoutineTable
Массив указателей функции уведомления для методов с указанным атрибутом notify или notify_flag .
mFlags
Флаг, описывающий атрибуты заглушки
CsRoutineTables
Не используется.
ProxyServerInfo
pExprInfo
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Верхняя часть | rpcndr.h (включая Rpc.h) |