124 lines
2.6 KiB
C
124 lines
2.6 KiB
C
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
|
|
Copyright <c> 1993 Microsoft Corporation
|
|
|
|
Module Name :
|
|
|
|
unmrshlp.h
|
|
|
|
Abtract :
|
|
|
|
Contains private definitions for unmrshl.c.
|
|
|
|
Author :
|
|
|
|
David Kays dkays September 1993
|
|
|
|
Revision History :
|
|
|
|
--------------------------------------------------------------------*/
|
|
|
|
#ifndef _UNMRSHLP_
|
|
#define _UNMRSHLP_
|
|
|
|
void
|
|
NdrpPointerUnmarshall(
|
|
PMIDL_STUB_MESSAGE pStubMsg,
|
|
uchar ** ppMemory, // Where allocated pointer is written
|
|
uchar * pMemory,
|
|
long * pBufferPointer, // Pointer to the wire rep.
|
|
PFORMAT_STRING pFormat );
|
|
|
|
void
|
|
NdrpConformantArrayUnmarshall(
|
|
PMIDL_STUB_MESSAGE pStubMsg,
|
|
uchar ** pMemory,
|
|
PFORMAT_STRING pFormat,
|
|
uchar fMustCopy ,
|
|
uchar fMustAlloc
|
|
);
|
|
|
|
void
|
|
NdrpConformantVaryingArrayUnmarshall(
|
|
PMIDL_STUB_MESSAGE pStubMsg,
|
|
uchar ** pMemory,
|
|
PFORMAT_STRING pFormat,
|
|
uchar fMustCopy,
|
|
uchar fMustAlloc
|
|
);
|
|
|
|
void
|
|
NdrpComplexArrayUnmarshall(
|
|
PMIDL_STUB_MESSAGE pStubMsg,
|
|
uchar ** pMemory,
|
|
PFORMAT_STRING pFormat,
|
|
uchar fMustCopy,
|
|
uchar fMustAlloc
|
|
);
|
|
|
|
void
|
|
NdrpConformantStringUnmarshall(
|
|
PMIDL_STUB_MESSAGE pStubMsg,
|
|
uchar ** pMemory,
|
|
PFORMAT_STRING pFormat,
|
|
uchar fMustCopy ,
|
|
uchar fMustAlloc
|
|
);
|
|
|
|
void
|
|
NdrpUnionUnmarshall(
|
|
PMIDL_STUB_MESSAGE pStubMsg,
|
|
uchar ** ppMemory,
|
|
PFORMAT_STRING pFormat,
|
|
uchar SwitchType,
|
|
PFORMAT_STRING pNonEncUnion
|
|
);
|
|
|
|
PFORMAT_STRING
|
|
NdrpEmbeddedPointerUnmarshall(
|
|
PMIDL_STUB_MESSAGE pStubMsg,
|
|
uchar * pMemory,
|
|
PFORMAT_STRING pFormat,
|
|
uchar fNewMemory
|
|
);
|
|
|
|
PFORMAT_STRING
|
|
NdrpEmbeddedRepeatPointerUnmarshall(
|
|
PMIDL_STUB_MESSAGE pStubMsg,
|
|
uchar * pMemory,
|
|
PFORMAT_STRING pFormat,
|
|
uchar fNewMemory
|
|
);
|
|
|
|
#define FULL_POINTER_INSERT( pStubMsg, Pointer ) \
|
|
{ \
|
|
NdrFullPointerInsertRefId( pStubMsg->FullPtrXlatTables, \
|
|
pStubMsg->FullPtrRefId, \
|
|
Pointer ); \
|
|
\
|
|
pStubMsg->FullPtrRefId = 0; \
|
|
}
|
|
|
|
typedef uchar * (RPC_ENTRY * PUNMARSHALL_ROUTINE)(
|
|
PMIDL_STUB_MESSAGE,
|
|
uchar **,
|
|
PFORMAT_STRING,
|
|
uchar
|
|
);
|
|
|
|
typedef void (* PPRIVATE_UNMARSHALL_ROUTINE)(
|
|
PMIDL_STUB_MESSAGE,
|
|
uchar **,
|
|
PFORMAT_STRING,
|
|
uchar,
|
|
uchar
|
|
);
|
|
|
|
//
|
|
// Function table defined in unmrshl.c.
|
|
//
|
|
IMPORTSPEC
|
|
extern const PUNMARSHALL_ROUTINE * pfnUnmarshallRoutines;
|
|
|
|
#endif
|