started in on a bunch of memory management code
This commit is contained in:
19
idl/comrogue/allocator.idl
Normal file
19
idl/comrogue/allocator.idl
Normal 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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
*----------------------------
|
||||
|
||||
Reference in New Issue
Block a user