mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
116 lines
1.9 KiB
116 lines
1.9 KiB
|
|
/*++
|
|
|
|
Copyright (c) 1998 Microsoft Corporation
|
|
All rights reserved.
|
|
|
|
Module Name:
|
|
|
|
marshall.hxx
|
|
|
|
Abstract:
|
|
|
|
Declarations for marshalling spooler structures sent via RPC/LPC
|
|
|
|
Author:
|
|
|
|
Ramanathan Venkatapathy (RamanV) 4/30/98
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
|
|
//
|
|
// 32-64 bit marshalling constants
|
|
//
|
|
|
|
#include "mType.h"
|
|
|
|
typedef enum _EDataSize
|
|
{
|
|
kPointerSize = sizeof (ULONG_PTR),
|
|
|
|
} EDataSize;
|
|
|
|
typedef enum _EPtrSize
|
|
{
|
|
kSpl32Ptr = 4,
|
|
kSpl64Ptr = 8,
|
|
|
|
} EPtrSize ;
|
|
|
|
EXTERN_C
|
|
BOOL
|
|
MarshallDownStructure(
|
|
IN OUT PBYTE pStructure,
|
|
IN FieldInfo *pFieldInfo,
|
|
IN SIZE_T StructureSize,
|
|
IN CALL_ROUTE Route
|
|
);
|
|
|
|
EXTERN_C
|
|
BOOL
|
|
MarshallUpStructure(
|
|
IN OUT PBYTE pStructure,
|
|
IN FieldInfo *pFieldInfo,
|
|
IN SIZE_T StructureSize,
|
|
IN CALL_ROUTE Route
|
|
);
|
|
|
|
|
|
EXTERN_C
|
|
BOOL
|
|
MarshallUpStructuresArray(
|
|
IN OUT PBYTE pBufferArray,
|
|
IN DWORD cReturned,
|
|
IN FieldInfo *pFieldInfo,
|
|
IN SIZE_T StructureSize,
|
|
IN CALL_ROUTE Route
|
|
);
|
|
|
|
EXTERN_C
|
|
BOOL
|
|
MarshallDownStructuresArray(
|
|
IN OUT PBYTE pBufferArray,
|
|
IN DWORD cReturned,
|
|
IN FieldInfo *pFieldInfo,
|
|
IN SIZE_T StructureSize,
|
|
IN CALL_ROUTE Route
|
|
);
|
|
|
|
EXTERN_C
|
|
DWORD
|
|
UpdateBufferSize(
|
|
IN FieldInfo *pFieldInfo,
|
|
IN SIZE_T cbStruct,
|
|
IN OUT LPDWORD pcbNeeded,
|
|
IN DWORD cbBuf,
|
|
IN DWORD dwError,
|
|
IN LPDWORD pcReturned
|
|
);
|
|
|
|
EXTERN_C
|
|
BOOL
|
|
GetShrinkedSize(
|
|
IN FieldInfo *pFieldInfo,
|
|
OUT SIZE_T *pShrinkedSize
|
|
);
|
|
|
|
EXTERN_C
|
|
VOID
|
|
AdjustPointers(
|
|
IN PBYTE pStructure,
|
|
IN FieldInfo *pFieldInfo,
|
|
IN ULONG_PTR cbAdjustment
|
|
);
|
|
|
|
EXTERN_C
|
|
VOID
|
|
AdjustPointersInStructuresArray(
|
|
IN PBYTE pBufferArray,
|
|
IN DWORD cReturned,
|
|
IN FieldInfo *pFieldInfo,
|
|
IN SIZE_T StructureSize,
|
|
IN ULONG_PTR cbAdjustment
|
|
);
|