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