Implement MyFree, MyMalloc and MyReAlloc.

svn path=/trunk/; revision=13182
This commit is contained in:
Eric Kohl 2005-01-21 12:27:32 +00:00
parent 599f7e108c
commit 3c5d760b6c
3 changed files with 100 additions and 3 deletions

View file

@ -15,6 +15,7 @@ C_SRCS = \
dirid.c \
diskspace.c \
install.c \
misc.c \
parser.c \
queue.c \
setupcab.c \

View file

@ -0,0 +1,93 @@
/*
* Setupapi miscellaneous functions
*
* Copyright 2005 Eric Kohl
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
#include "winuser.h"
#include "winreg.h"
#include "setupapi.h"
/**************************************************************************
* MyFree [SETUPAPI.@]
*
* Frees an allocated memory block from the process heap.
*
* PARAMS
* lpMem [I] pointer to memory block which will be freed
*
* RETURNS
* None
*/
VOID WINAPI MyFree(LPVOID lpMem)
{
HeapFree(GetProcessHeap(), 0, lpMem);
}
/**************************************************************************
* MyMalloc [SETUPAPI.@]
*
* Allocates memory block from the process heap.
*
* PARAMS
* dwSize [I] size of the allocated memory block
*
* RETURNS
* Success: pointer to allocated memory block
* Failure: NULL
*/
LPVOID WINAPI MyMalloc(DWORD dwSize)
{
return HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, dwSize);
}
/**************************************************************************
* MyRealloc [SETUPAPI.@]
*
* Changes the size of an allocated memory block or allocates a memory
* block from the process heap.
*
* PARAMS
* lpSrc [I] pointer to memory block which will be resized
* dwSize [I] new size of the memory block
*
* RETURNS
* Success: pointer to the resized memory block
* Failure: NULL
*
* NOTES
* If lpSrc is a NULL-pointer, then MyRealloc allocates a memory
* block like MyMalloc.
*/
LPVOID WINAPI MyRealloc(LPVOID lpSrc, DWORD dwSize)
{
if (lpSrc == NULL)
return HeapAlloc(GetProcessHeap(), 0, dwSize);
return HeapReAlloc(GetProcessHeap(), 0, lpSrc, dwSize);
}

View file

@ -1,3 +1,6 @@
@ stub AddTagToGroupOrderListEntry
@ stub AppendStringToMultiSz
@ stub AssertFail
@ stdcall CM_Connect_MachineW(wstr ptr)
@ stdcall CM_Disconnect_Machine(long)
@ stub CM_Free_Log_Conf_Handle
@ -36,10 +39,10 @@
@ stub MemoryInitialize
@ stub MultiByteToUnicode
@ stub MultiSzFromSearchControl
@ stub MyFree
@ stdcall MyFree(ptr)
@ stub MyGetFileTitle
@ stub MyMalloc
@ stub MyRealloc
@ stdcall MyMalloc(long)
@ stdcall MyRealloc(ptr long)
@ stub OpenAndMapFileForRead
@ stub OutOfMemory
@ stub QueryMultiSzValueToArray