Implement MyFree, MyMalloc and MyRealloc.

This commit is contained in:
Eric Kohl 2005-01-24 13:32:26 +00:00 committed by Alexandre Julliard
parent 0a2f7e2054
commit 38b14b4ccf
3 changed files with 97 additions and 3 deletions

View File

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

93
dlls/setupapi/misc.c Normal file
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(), 0, 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

@ -219,10 +219,10 @@
@ stub MemoryInitialize @ stub MemoryInitialize
@ stub MultiByteToUnicode @ stub MultiByteToUnicode
@ stub MultiSzFromSearchControl @ stub MultiSzFromSearchControl
@ stub MyFree @ stdcall MyFree(ptr)
@ stub MyGetFileTitle @ stub MyGetFileTitle
@ stub MyMalloc @ stdcall MyMalloc(long)
@ stub MyRealloc @ stdcall MyRealloc(ptr long)
@ stub OpenAndMapFileForRead @ stub OpenAndMapFileForRead
@ stub OutOfMemory @ stub OutOfMemory
@ stub QueryMultiSzValueToArray @ stub QueryMultiSzValueToArray