📄 rpcndr.h
字号:
#ifndef __RPCNDR_H__#define __RPCNDR_H__#include <rpcnsip.h>#ifdef __cplusplusextern "C" {#endif#include <objfwd.h>#define NDR_CHAR_REP_MASK (unsigned long)0xFL#define NDR_INT_REP_MASK (unsigned long)0xF0L#define NDR_FLOAT_REP_MASK (unsigned long)0xFF00L#define NDR_LITTLE_ENDIAN (unsigned long)0x10L#define NDR_BIG_ENDIAN (unsigned long)0#define NDR_IEEE_FLOAT (unsigned long)0#define NDR_VAX_FLOAT (unsigned long)0x100L#define NDR_ASCII_CHAR (unsigned long)0#define NDR_EBCDIC_CHAR (unsigned long)1#define NDR_LOCAL_DATA_REPRESENTATION (unsigned long)0x10L#define NDR_LOCAL_ENDIAN NDR_LITTLE_ENDIAN#define __RPC_CALLEE __stdcall#ifndef __MIDL_USER_DEFINED#define midl_user_allocate MIDL_user_allocate#define midl_user_free MIDL_user_free#define __MIDL_USER_DEFINED#endif#define RPC_VAR_ENTRY __cdecl#ifdef _M_IX86#define __MIDL_DECLSPEC_DLLIMPORT __declspec(dllimport)#define __MIDL_DECLSPEC_DLLEXPORT __declspec(dllexport)#else#define __MIDL_DECLSPEC_DLLIMPORT#define __MIDL_DECLSPEC_DLLEXPORT#endif#if defined(HAVE_INT64) || (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64)#define hyper __int64#define MIDL_uhyper unsigned __int64#else#define hyper double#define MIDL_uhyper double#endif#define small chartypedef unsigned char byte;#define NDRSContextValue(hContext) (&(hContext)->userContext)#define cbNDRContext 20#define byte_from_ndr(source, target) { *(target) = *(*(char**)&(source)->Buffer)++; }#define byte_array_from_ndr(Source, LowerIndex, UpperIndex, Target) { NDRcopy ((((char *)(Target))+(LowerIndex)), (Source)->Buffer, (unsigned int)((UpperIndex)-(LowerIndex))); *(unsigned long *)&(Source)->Buffer += ((UpperIndex)-(LowerIndex)); }#define boolean_from_ndr(source, target) { *(target) = *(*(char**)&(source)->Buffer)++; }#define boolean_array_from_ndr(Source, LowerIndex, UpperIndex, Target) { NDRcopy ((((char *)(Target))+(LowerIndex)), (Source)->Buffer, (unsigned int)((UpperIndex)-(LowerIndex))); *(unsigned long *)&(Source)->Buffer += ((UpperIndex)-(LowerIndex)); }#define small_from_ndr(source, target) { *(target) = *(*(char**)&(source)->Buffer)++; }#define small_from_ndr_temp(source, target, format) { *(target) = *(*(char**)(source))++; }#define small_array_from_ndr(Source, LowerIndex, UpperIndex, Target) { NDRcopy ((((char *)(Target))+(LowerIndex)), (Source)->Buffer, (unsigned int)((UpperIndex)-(LowerIndex))); *(unsigned long *)&(Source)->Buffer += ((UpperIndex)-(LowerIndex)); }#define MIDL_ascii_strlen(string) strlen(string)#define MIDL_ascii_strcpy(target,source) strcpy(target,source)#define MIDL_memset(s,c,n) memset(s,c,n)#define _midl_ma1( p, cast ) *(*( cast **)&p)++#define _midl_ma2( p, cast ) *(*( cast **)&p)++#define _midl_ma4( p, cast ) *(*( cast **)&p)++#define _midl_ma8( p, cast ) *(*( cast **)&p)++#define _midl_unma1( p, cast ) *(( cast *)p)++#define _midl_unma2( p, cast ) *(( cast *)p)++#define _midl_unma3( p, cast ) *(( cast *)p)++#define _midl_unma4( p, cast ) *(( cast *)p)++#define _midl_fa2( p ) (p = (RPC_BUFPTR )((unsigned long)(p+1) & 0xfffffffe))#define _midl_fa4( p ) (p = (RPC_BUFPTR )((unsigned long)(p+3) & 0xfffffffc))#define _midl_fa8( p ) (p = (RPC_BUFPTR )((unsigned long)(p+7) & 0xfffffff8))#define _midl_addp( p, n ) (p += n)#define _midl_marsh_lhs( p, cast ) *(*( cast **)&p)++#define _midl_marsh_up( mp, p ) *(*(unsigned long **)&mp)++ = (unsigned long)p#define _midl_advmp( mp ) *(*(unsigned long **)&mp)++#define _midl_unmarsh_up( p ) (*(*(unsigned long **)&p)++)#define NdrMarshConfStringHdr( p, s, l ) (_midl_ma4( p, unsigned long) = s, _midl_ma4( p, unsigned long) = 0, _midl_ma4( p, unsigned long) = l)#define NdrUnMarshConfStringHdr(p, s, l) ((s=_midl_unma4(p,unsigned long), (_midl_addp(p,4)), (l=_midl_unma4(p,unsigned long))#define NdrMarshCCtxtHdl(pc,p) (NDRCContextMarshall( (NDR_CCONTEXT)pc, p ),p+20)#define NdrUnMarshCCtxtHdl(pc,p,h,drep) (NDRCContextUnmarshall((NDR_CONTEXT)pc,h,p,drep), p+20)#define NdrUnMarshSCtxtHdl(pc, p,drep) (pc = NdrSContextUnMarshall(p,drep ))#define NdrMarshSCtxtHdl(pc,p,rd) (NdrSContextMarshall((NDR_SCONTEXT)pc,p, (NDR_RUNDOWN)rd)#define NdrFieldOffset(s,f) (long)(& (((s *)0)->f))#define NdrFieldPad(s,f,p,t) (NdrFieldOffset(s,f) - NdrFieldOffset(s,p) - sizeof(t))#define NdrFcShort(s) (unsigned char)(s & 0xff), (unsigned char)(s >> 8)#define NdrFcLong(s) (unsigned char)(s & 0xff), (unsigned char)((s & 0x0000ff00) >> 8), (unsigned char)((s & 0x00ff0000) >> 16), (unsigned char)(s >> 24)#ifdef CONST_VTABLE#define CONST_VTBL const#else#define CONST_VTBL#endiftypedef void *NDR_CCONTEXT;typedef struct { void *pad[2]; void *userContext;} *NDR_SCONTEXT;typedef void (__RPC_USER *NDR_RUNDOWN)(void*);typedef struct _SCONTEXT_QUEUE { unsigned long NumberOfObjects; NDR_SCONTEXT *ArrayOfObjects;} SCONTEXT_QUEUE,*PSCONTEXT_QUEUE;struct _MIDL_STUB_MESSAGE;struct _MIDL_STUB_DESC;struct _FULL_PTR_XLAT_TABLES;typedef unsigned char *RPC_BUFPTR;typedef unsigned long RPC_LENGTH;typedef void(__RPC_USER *EXPR_EVAL)(struct _MIDL_STUB_MESSAGE*);typedef const unsigned char *PFORMAT_STRING;typedef struct { long Dimension; unsigned long *BufferConformanceMark; unsigned long *BufferVarianceMark; unsigned long *MaxCountArray; unsigned long *OffsetArray; unsigned long *ActualCountArray;} ARRAY_INFO,*PARRAY_INFO;RPC_BINDING_HANDLE RPC_ENTRY NDRCContextBinding(NDR_CCONTEXT);void RPC_ENTRY NDRCContextMarshall(NDR_CCONTEXT,void*);void RPC_ENTRY NDRCContextUnmarshall(NDR_CCONTEXT*,RPC_BINDING_HANDLE,void*,unsigned long);void RPC_ENTRY NDRSContextMarshall(NDR_SCONTEXT,void*,NDR_RUNDOWN);NDR_SCONTEXT RPC_ENTRY NDRSContextUnmarshall(void*pBuff,unsigned long);void RPC_ENTRY RpcSsDestroyClientContext(void**);void RPC_ENTRY NDRcopy(void*,void*,unsigned int);unsigned int RPC_ENTRY MIDL_wchar_strlen(wchar_t*);void RPC_ENTRY MIDL_wchar_strcpy(void*,wchar_t*);void RPC_ENTRY char_from_ndr(PRPC_MESSAGE,unsigned char*);void RPC_ENTRY char_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,unsigned char*);void RPC_ENTRY short_from_ndr(PRPC_MESSAGE,unsigned short*);void RPC_ENTRY short_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,unsigned short*);void RPC_ENTRY short_from_ndr_temp(unsigned char**,unsigned short*,unsigned long);void RPC_ENTRY long_from_ndr(PRPC_MESSAGE,unsigned long*);void RPC_ENTRY long_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,unsigned long*);void RPC_ENTRY long_from_ndr_temp(unsigned char**,unsigned long*,unsigned long);void RPC_ENTRY enum_from_ndr(PRPC_MESSAGE,unsigned int*);void RPC_ENTRY float_from_ndr(PRPC_MESSAGE,void*);void RPC_ENTRY float_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,void*);void RPC_ENTRY double_from_ndr(PRPC_MESSAGE,void*);void RPC_ENTRY double_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,void*);void RPC_ENTRY hyper_from_ndr(PRPC_MESSAGE,hyper*);void RPC_ENTRY hyper_array_from_ndr(PRPC_MESSAGE,unsigned long,unsigned long,hyper*);void RPC_ENTRY hyper_from_ndr_temp(unsigned char**,hyper*,unsigned long);void RPC_ENTRY data_from_ndr(PRPC_MESSAGE,void*,char*,unsigned char);void RPC_ENTRY data_into_ndr(void*,PRPC_MESSAGE,char*,unsigned char);void RPC_ENTRY tree_into_ndr(void*,PRPC_MESSAGE,char*,unsigned char);void RPC_ENTRY data_size_ndr(void*,PRPC_MESSAGE,char*,unsigned char);void RPC_ENTRY tree_size_ndr(void*,PRPC_MESSAGE,char*,unsigned char);void RPC_ENTRY tree_peek_ndr(PRPC_MESSAGE,unsigned char**,char*,unsigned char);void *RPC_ENTRY midl_allocate(int);#pragma pack(push,4)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; int IsClient; int ReuseBuffer; unsigned char *AllocAllNodesMemory; unsigned char *AllocAllNodesMemoryEnd; int IgnoreEmbeddedPointers; unsigned char *PointerBufferMark; unsigned char fBufferValid; unsigned char Unused; unsigned long MaxCount; unsigned long Offset; unsigned long ActualCount; void*(__RPC_API *pfnAllocate)(unsigned int); void(__RPC_API *pfnFree)(void*); unsigned char *StackTop; unsigned char *pPresentedType; unsigned char *pTransmitType; handle_t SavedHandle; const struct _MIDL_STUB_DESC *StubDesc; struct _FULL_PTR_XLAT_TABLES *FullPtrXlatTables; unsigned long FullPtrRefId; int fCheckBounds; int fInDontFree :1; int fDontCallFreeInst :1; int fInOnlyParam :1; int fHasReturn :1; 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; unsigned long Reserved[5];} MIDL_STUB_MESSAGE,*PMIDL_STUB_MESSAGE;#pragma pack(pop)typedef void*(__RPC_API *GENERIC_BINDING_ROUTINE)(void*);typedef void (__RPC_API *GENERIC_UNBIND_ROUTINE)(void*,unsigned char*);typedef struct _GENERIC_BINDING_ROUTINE_PAIR { GENERIC_BINDING_ROUTINE pfnBind; GENERIC_UNBIND_ROUTINE pfnUnbind;} GENERIC_BINDING_ROUTINE_PAIR,*PGENERIC_BINDING_ROUTINE_PAIR;typedef struct __GENERIC_BINDING_INFO { void *pObj; unsigned int Size; GENERIC_BINDING_ROUTINE pfnBind; GENERIC_UNBIND_ROUTINE pfnUnbind;} GENERIC_BINDING_INFO,*PGENERIC_BINDING_INFO;typedef void(__RPC_USER *XMIT_HELPER_ROUTINE)(PMIDL_STUB_MESSAGE);typedef struct _XMIT_ROUTINE_QUINTUPLE { XMIT_HELPER_ROUTINE pfnTranslateToXmit; XMIT_HELPER_ROUTINE pfnTranslateFromXmit; XMIT_HELPER_ROUTINE pfnFreeXmit; XMIT_HELPER_ROUTINE pfnFreeInst;} XMIT_ROUTINE_QUINTUPLE,*PXMIT_ROUTINE_QUINTUPLE;typedef struct _MALLOC_FREE_STRUCT {void*(__RPC_USER *pfnAllocate)(unsigned int);void(__RPC_USER *pfnFree)(void*);} MALLOC_FREE_STRUCT;typedef struct _COMM_FAULT_OFFSETS { short CommOffset; short FaultOffset;} COMM_FAULT_OFFSETS;typedef struct _MIDL_STUB_DESC { void*RpcInterfaceInformation; void*(__RPC_API *pfnAllocate)(unsigned int); void(__RPC_API *pfnFree)(void*); 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;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -