MIDL_STUB_MESSAGE 结构 (rpcndr.h)

MIDL_STUB_MESSAGE 结构由 MIDL 生成,包含 RPC 存根的当前状态。 应用程序不会直接修改 MIDL_STUB_MESSAGE 结构。

语法

typedef struct _MIDL_STUB_MESSAGE {
  PRPC_MESSAGE                       RpcMsg;
  unsigned char                      *Buffer;
  unsigned char                      *BufferStart;
  unsigned char                      *BufferEnd;
  unsigned char                      *BufferMark;
  unsigned long                      BufferLength;
  unsigned long                      MemorySize;
  unsigned char                      *Memory;
  unsigned char                      IsClient;
  unsigned char                      Pad;
  unsigned short                     uFlags2;
  int                                ReuseBuffer;
  struct NDR_ALLOC_ALL_NODES_CONTEXT *pAllocAllNodesContext;
  struct NDR_POINTER_QUEUE_STATE     *pPointerQueueState;
  int                                IgnoreEmbeddedPointers;
  unsigned char                      *PointerBufferMark;
  unsigned char                      CorrDespIncrement;
  unsigned char                      uFlags;
  unsigned short                     UniquePtrCount;
  ULONG_PTR                          MaxCount;
  unsigned long                      Offset;
  unsigned long                      ActualCount;
  void * )(size_t)                               *(pfnAllocate;
  void()(void *)                              * pfnFree;
  unsigned char                      *StackTop;
  unsigned char                      *pPresentedType;
  unsigned char                      *pTransmitType;
  handle_t                           SavedHandle;
  const _MIDL_STUB_DESC              *StubDesc;
  struct                             _MIDL_STUB_DESC;
  struct _FULL_PTR_XLAT_TABLES       *FullPtrXlatTables;
  unsigned long                      FullPtrRefId;
  unsigned long                      PointerLength;
  int                                fInDontFree : 1;
  int                                fDontCallFreeInst : 1;
  int                                fUnused1 : 1;
  int                                fHasReturn : 1;
  int                                fHasExtensions : 1;
  int                                fHasNewCorrDesc : 1;
  int                                fIsIn : 1;
  int                                fIsOut : 1;
  int                                fIsOicf : 1;
  int                                fBufferValid : 1;
  int                                fHasMemoryValidateCallback : 1;
  int                                fInFree : 1;
  int                                fNeedMCCP : 1;
  int                                fUnused2 : 3;
  int                                fUnused3 : 16;
  unsigned long                      dwDestContext;
  void                               *pvDestContext;
  NDR_SCONTEXT                       *SavedContextHandles;
  long                               ParamNumber;
  struct IRpcChannelBuffer           *pRpcChannelBuffer;
  PARRAY_INFO                        pArrayInfo;
  unsigned long                      *SizePtrCountArray;
  unsigned long                      *SizePtrOffsetArray;
  unsigned long                      *SizePtrLengthArray;
  void                               *pArgQueue;
  unsigned long                      dwStubPhase;
  void                               *LowStackMark;
  PNDR_ASYNC_MESSAGE                 pAsyncMsg;
  PNDR_CORRELATION_INFO              pCorrInfo;
  unsigned char                      *pCorrMemory;
  void                               *pMemoryList;
  INT_PTR                            pCSInfo;
  unsigned char                      *ConformanceMark;
  unsigned char                      *VarianceMark;
  INT_PTR                            Unused;
  struct _NDR_PROC_CONTEXT           *pContext;
  void                               *ContextHandleHash;
  void                               *pUserMarshalList;
  INT_PTR                            Reserved51_3;
  INT_PTR                            Reserved51_4;
  INT_PTR                            Reserved51_5;
} MIDL_STUB_MESSAGE, *PMIDL_STUB_MESSAGE;

成员

RpcMsg

指向 RPC_MESSAGE 结构的指针。

Buffer

指向网络缓冲区中数据封送或取消封送的位置的指针。

BufferStart

指向网络缓冲区开头的指针。

BufferEnd

指向网络缓冲区末尾的指针。

BufferMark

保留。

BufferLength

Buffer 的大小(以字节为单位)。

MemorySize

保留。

Memory

保留。

IsClient

保留。

Pad

uFlags2

ReuseBuffer

保留。

pAllocAllNodesContext

保留。

pPointerQueueState

保留。

IgnoreEmbeddedPointers

保留。

PointerBufferMark

保留。

CorrDespIncrement

uFlags

保留。

UniquePtrCount

MaxCount

保留。

Offset

保留。

ActualCount

保留。

pfnAllocate

保留。

pfnFree

保留。

StackTop

保留。

pPresentedType

保留。

pTransmitType

保留。

SavedHandle

保留。

StubDesc

保留。

_MIDL_STUB_DESC

FullPtrXlatTables

保留。

FullPtrRefId

保留。

PointerLength

保留。

fInDontFree

保留。

fDontCallFreeInst

保留。

fUnused1

fHasReturn

保留。

fHasExtensions

保留。

fHasNewCorrDesc

保留。

fIsIn

fIsOut

fIsOicf

fBufferValid

保留。

fHasMemoryValidateCallback

fInFree

fNeedMCCP

fUnused2

保留。

fUnused3

dwDestContext

保留。

pvDestContext

保留。

SavedContextHandles

保留。

ParamNumber

保留。

pRpcChannelBuffer

保留。

pArrayInfo

保留。

SizePtrCountArray

保留。

SizePtrOffsetArray

保留。

SizePtrLengthArray

保留。

pArgQueue

保留。

dwStubPhase

指向跟踪当前解释器调用活动的标志的指针。

LowStackMark

保留。

pAsyncMsg

保留。

pCorrInfo

保留。

pCorrMemory

保留。

pMemoryList

保留。

pCSInfo

保留。

ConformanceMark

保留。

VarianceMark

保留。

Unused

保留。

pContext

保留。

ContextHandleHash

pUserMarshalList

Reserved51_3

保留。

Reserved51_4

保留。

Reserved51_5

保留。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
标头 rpcndr.h (包括 Rpc.h)