/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Copyright 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