rpcndr.h
来自「本源码是vc环境下的usb程序」· C头文件 代码 · 共 2,691 行 · 第 1/5 页
H
2,691 行
ULONG_PTR pReserved2;
} MIDL_SYNTAX_INFO, *PMIDL_SYNTAX_INFO;
typedef unsigned short * PARAM_OFFSETTABLE, *PPARAM_OFFSETTABLE;
/*
* This is the return value from NdrClientCall.
*/
typedef union _CLIENT_CALL_RETURN
{
void * Pointer;
LONG_PTR Simple;
} CLIENT_CALL_RETURN;
/*
* Full pointer data structures.
*/
typedef enum
{
XLAT_SERVER = 1,
XLAT_CLIENT
} XLAT_SIDE;
/*
* Stores the translation for the conversion from a full pointer into it's
* corresponding ref id.
*/
typedef struct _FULL_PTR_TO_REFID_ELEMENT
{
struct _FULL_PTR_TO_REFID_ELEMENT * Next;
void * Pointer;
unsigned long RefId;
unsigned char State;
} FULL_PTR_TO_REFID_ELEMENT, *PFULL_PTR_TO_REFID_ELEMENT;
/*
* Full pointer translation tables.
*/
typedef struct _FULL_PTR_XLAT_TABLES
{
/*
* Ref id to pointer translation information.
*/
struct
{
void * * XlatTable;
unsigned char * StateTable;
unsigned long NumberOfEntries;
} RefIdToPointer;
/*
* Pointer to ref id translation information.
*/
struct
{
PFULL_PTR_TO_REFID_ELEMENT * XlatTable;
unsigned long NumberOfBuckets;
unsigned long HashMask;
} PointerToRefId;
/*
* Next ref id to use.
*/
unsigned long NextRefId;
/*
* Keep track of the translation size we're handling : server or client.
* This tells us when we have to do reverse translations when we insert
* new translations. On the server we must insert a pointer-to-refid
* translation whenever we insert a refid-to-pointer translation, and
* vica versa for the client.
*/
XLAT_SIDE XlatSide;
} FULL_PTR_XLAT_TABLES, *PFULL_PTR_XLAT_TABLES;
/***************************************************************************
** New MIDL 2.0 Ndr routine templates
***************************************************************************/
RPC_STATUS RPC_ENTRY
NdrClientGetSupportedSyntaxes(
IN RPC_CLIENT_INTERFACE * pInf,
OUT unsigned long * pCount,
OUT MIDL_SYNTAX_INFO ** pArr );
RPC_STATUS RPC_ENTRY
NdrServerGetSupportedSyntaxes(
IN RPC_SERVER_INTERFACE * pInf,
OUT unsigned long * pCount,
OUT MIDL_SYNTAX_INFO ** pArr,
OUT unsigned long * pPreferSyntaxIndex);
/*
* Marshall routines
*/
RPCRTAPI
void
RPC_ENTRY
NdrSimpleTypeMarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * pMemory,
unsigned char FormatChar
);
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrPointerMarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * pMemory,
PFORMAT_STRING pFormat
);
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrCsArrayMarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * pMemory,
PFORMAT_STRING pFormat
);
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrCsTagMarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * pMemory,
PFORMAT_STRING pFormat
);
/* Structures */
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrSimpleStructMarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * pMemory,
PFORMAT_STRING pFormat
);
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrConformantStructMarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * pMemory,
PFORMAT_STRING pFormat
);
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrConformantVaryingStructMarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * pMemory,
PFORMAT_STRING pFormat
);
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrComplexStructMarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * pMemory,
PFORMAT_STRING pFormat
);
/* Arrays */
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrFixedArrayMarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * pMemory,
PFORMAT_STRING pFormat
);
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrConformantArrayMarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * pMemory,
PFORMAT_STRING pFormat
);
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrConformantVaryingArrayMarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * pMemory,
PFORMAT_STRING pFormat
);
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrVaryingArrayMarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * pMemory,
PFORMAT_STRING pFormat
);
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrComplexArrayMarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * pMemory,
PFORMAT_STRING pFormat
);
/* Strings */
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrNonConformantStringMarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * pMemory,
PFORMAT_STRING pFormat
);
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrConformantStringMarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * pMemory,
PFORMAT_STRING pFormat
);
/* Unions */
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrEncapsulatedUnionMarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * pMemory,
PFORMAT_STRING pFormat
);
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrNonEncapsulatedUnionMarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * pMemory,
PFORMAT_STRING pFormat
);
/* Byte count pointer */
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrByteCountPointerMarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * pMemory,
PFORMAT_STRING pFormat
);
/* Transmit as and represent as*/
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrXmitOrRepAsMarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * pMemory,
PFORMAT_STRING pFormat
);
/* User_marshal */
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrUserMarshalMarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * pMemory,
PFORMAT_STRING pFormat
);
/* Interface pointer */
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrInterfacePointerMarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * pMemory,
PFORMAT_STRING pFormat
);
/* Context handles */
RPCRTAPI
void
RPC_ENTRY
NdrClientContextMarshall(
PMIDL_STUB_MESSAGE pStubMsg,
NDR_CCONTEXT ContextHandle,
int fCheck
);
RPCRTAPI
void
RPC_ENTRY
NdrServerContextMarshall(
PMIDL_STUB_MESSAGE pStubMsg,
NDR_SCONTEXT ContextHandle,
NDR_RUNDOWN RundownRoutine
);
RPCRTAPI
void
RPC_ENTRY
NdrServerContextNewMarshall(
PMIDL_STUB_MESSAGE pStubMsg,
NDR_SCONTEXT ContextHandle,
NDR_RUNDOWN RundownRoutine,
PFORMAT_STRING pFormat
);
/*
* Unmarshall routines
*/
RPCRTAPI
void
RPC_ENTRY
NdrSimpleTypeUnmarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * pMemory,
unsigned char FormatChar
);
RPCRTAPI
unsigned char * RPC_ENTRY
RPC_ENTRY
NdrCsArrayUnmarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char ** ppMemory,
PFORMAT_STRING pFormat,
unsigned char fMustAlloc
);
RPCRTAPI
unsigned char * RPC_ENTRY
RPC_ENTRY
NdrCsTagUnmarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char ** ppMemory,
PFORMAT_STRING pFormat,
unsigned char fMustAlloc
);
RPCRTAPI
unsigned char * RPC_ENTRY
NdrRangeUnmarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char ** ppMemory,
PFORMAT_STRING pFormat,
unsigned char fMustAlloc
);
RPCRTAPI
void
RPC_ENTRY
NdrCorrelationInitialize(
PMIDL_STUB_MESSAGE pStubMsg,
void * pMemory,
unsigned long CacheSize,
unsigned long flags
);
RPCRTAPI
void
RPC_ENTRY
NdrCorrelationPass(
PMIDL_STUB_MESSAGE pStubMsg
);
RPCRTAPI
void
RPC_ENTRY
NdrCorrelationFree(
PMIDL_STUB_MESSAGE pStubMsg
);
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrPointerUnmarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * * ppMemory,
PFORMAT_STRING pFormat,
unsigned char fMustAlloc
);
/* Structures */
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrSimpleStructUnmarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * * ppMemory,
PFORMAT_STRING pFormat,
unsigned char fMustAlloc
);
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrConformantStructUnmarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * * ppMemory,
PFORMAT_STRING pFormat,
unsigned char fMustAlloc
);
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrConformantVaryingStructUnmarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * * ppMemory,
PFORMAT_STRING pFormat,
unsigned char fMustAlloc
);
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrComplexStructUnmarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * * ppMemory,
PFORMAT_STRING pFormat,
unsigned char fMustAlloc
);
/* Arrays */
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrFixedArrayUnmarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * * ppMemory,
PFORMAT_STRING pFormat,
unsigned char fMustAlloc
);
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrConformantArrayUnmarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * * ppMemory,
PFORMAT_STRING pFormat,
unsigned char fMustAlloc
);
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrConformantVaryingArrayUnmarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * * ppMemory,
PFORMAT_STRING pFormat,
unsigned char fMustAlloc
);
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrVaryingArrayUnmarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * * ppMemory,
PFORMAT_STRING pFormat,
unsigned char fMustAlloc
);
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrComplexArrayUnmarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * * ppMemory,
PFORMAT_STRING pFormat,
unsigned char fMustAlloc
);
/* Strings */
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrNonConformantStringUnmarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * * ppMemory,
PFORMAT_STRING pFormat,
unsigned char fMustAlloc
);
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrConformantStringUnmarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * * ppMemory,
PFORMAT_STRING pFormat,
unsigned char fMustAlloc
);
/* Unions */
RPCRTAPI
unsigned char *
RPC_ENTRY
NdrEncapsulatedUnionUnmarshall(
PMIDL_STUB_MESSAGE pStubMsg,
unsigned char * * ppMemory,
PFORMAT_STRING pFormat,
unsigned char fMustAlloc
);
RPCRTAPI
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?