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
버퍼의 크기(바이트)입니다.
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 포함) |