90 lines
1.5 KiB
C
90 lines
1.5 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1991 Microsoft Corporation
|
||
|
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
midluser.c
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
This file contains common functions and utilities that the API
|
||
|
DLLs can use in making remote calls. This includes the
|
||
|
MIDL_USER_ALLOCATE functions.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
danl 02/06/1991
|
||
|
|
||
|
Environment:
|
||
|
|
||
|
User Level: Win32
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
|
||
|
--*/
|
||
|
|
||
|
|
||
|
#include "precomp.h"
|
||
|
|
||
|
|
||
|
PVOID
|
||
|
MIDL_user_allocate(
|
||
|
IN size_t NumBytes
|
||
|
)
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
|
||
|
Allocates storage for RPC transactions. The RPC stubs will either call
|
||
|
MIDL_user_allocate when it needs to un-marshall data into a buffer
|
||
|
that the user must free. RPC servers will use MIDL_user_allocate to
|
||
|
allocate storage that the RPC server stub will free after marshalling
|
||
|
the data.
|
||
|
|
||
|
Arguments:
|
||
|
|
||
|
NumBytes - the number of bytes to allocate.
|
||
|
|
||
|
Return Value:
|
||
|
|
||
|
None.
|
||
|
|
||
|
--*/
|
||
|
{
|
||
|
return (LocalAlloc(0,NumBytes));
|
||
|
}
|
||
|
|
||
|
|
||
|
VOID
|
||
|
MIDL_user_free(
|
||
|
IN void * MemPointer
|
||
|
)
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
|
||
|
Frees storage used in RPC transactions. The RPC client can call this
|
||
|
function to free buffer space that was allocated by the RPC client
|
||
|
stub when un-marshalling data that is to be returned to the client.
|
||
|
The Client calls MIDL_user_free when it is finished with the data and
|
||
|
desires to free up the storage.
|
||
|
The RPC server stub calls MIDL_user_free when it has completed
|
||
|
marshalling server data that is to be passed back to the client.
|
||
|
|
||
|
Arguments:
|
||
|
|
||
|
MemPointer - pointer to the memory block that is to be released.
|
||
|
|
||
|
Return Value:
|
||
|
|
||
|
None.
|
||
|
|
||
|
--*/
|
||
|
|
||
|
{
|
||
|
LocalFree(MemPointer);
|
||
|
}
|