Source code of Windows XP (NT5)
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.
 
 
 
 
 
 

104 lines
1.9 KiB

/*++
Copyright (c) 1991 Microsoft Corporation
Module Name:
rpcclimm.c
Abstract:
LSA - Client RPC Memory Management Routines
NOTE: These routines use windows API, so are different from
their server counterparts.
Author:
Scott Birrell (ScottBi) May 1, 1991
Environment:
Revision History:
--*/
#include "lsaclip.h"
/*
#include <nt.h> // DbgPrint prototype
#include <ntrtl.h> // DbgPrint prototype
#include <rpc.h> // DataTypes and runtime APIs
#include <lsarpc.h> // generated by the MIDL complier
#include <nturtl.h> // needed for windows.h
#include <windows.h> // LocalAlloc
#include <string.h> // for strcpy strcat strlen memcmp
*/
PVOID
MIDL_user_allocate (
unsigned int NumBytes
)
/*++
Routine Description:
Allocates storage for RPC server 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
Note:
--*/
{
return (LocalAlloc(LMEM_FIXED,NumBytes));
}
VOID
MIDL_user_free (
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 - This points to the memory block that is to be released.
Return Value:
none.
Note:
--*/
{
LocalFree(MemPointer);
}