started in on a bunch of memory management code

This commit is contained in:
Eric J. Bowersox
2013-04-14 03:38:48 -06:00
parent 3609cb2627
commit 54529bc017
23 changed files with 1741 additions and 41 deletions

View File

@@ -0,0 +1,19 @@
import "comrogue/objectbase.idl";
/*-------------------
* IMalloc interface
*-------------------
*/
[object, uuid(00000002-0000-0000-C000-000000000046)]
interface IMalloc : IUnknown
{
[unique] typedef IMalloc *PMALLOC;
PVOID Alloc([in] SIZE_T cb);
PVOID Realloc([in] PVOID pv, [in] SIZE_T cb);
void Free([in] PVOID pv);
SIZE_T GetSize([in] PVOID pv);
INT32 DidAlloc([in] PVOID pv);
void HeapMinimize(void);
}

View File

@@ -49,6 +49,9 @@ interface ICOMROGUETypes
typedef INT32 INT_PTR;
typedef UINT32 UINT_PTR;
typedef UINT_PTR SIZE_T;
typedef INT_PTR SSIZE_T;
/* Base pointer type definitions */
typedef INT16 *PINT16;
typedef UINT16 *PUINT16;

View File

@@ -45,6 +45,19 @@ interface IUnknown
UINT32 Release();
}
/*-------------------------
* IClassFactory interface
*-------------------------
*/
[object, uuid(00000001-0000-0000-C000-000000000046), pointer_default(unique)]
interface IClassFactory : IUnknown
{
[unique] typedef IClassFactory *PCLASSFACTORY;
HRESULT CreateInstance([in, unique] IUnknown *punkOuter, [in] REFIID riid, [out, iid_is(riid)] PPVOID ppvObject);
HRESULT LockServer([in] BOOL fLock);
}
/*----------------------------
* IServiceProvider interface
*----------------------------