windows-nt/Source/XPSP1/NT/com/oleutest/memalloc/memtest.hxx

90 lines
2.4 KiB
C++
Raw Normal View History

2020-09-26 03:20:57 -05:00
//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992 - 1993.
//
// File: memtest.hxx
//
// Contents: Memory allocation API unit test declarations
//
// Functions:
//
// History: 13-Aug-93 CarlH Created
//
//--------------------------------------------------------------------------
#include <windows.h>
#include <ole2.h>
#include "signal.hxx"
#define GLOBAL_RUN 0x00010000
#define GLOBAL_CLEANUP 0x00020000
#define GLOBAL_STATUS 0x00040000
#define GLOBAL_VERBOSE 0x00080000
#define MIDL_DEBUG 0x00000001
#define MIDL_AUTOGO 0x00000002
#define MIDL_AUTOEND 0x00000004
BOOL TestPreInit(DWORD grfOptions);
BOOL TestMemory(DWORD grfOptions);
BOOL TestExceptions(DWORD grfOptions);
BOOL TestMIDLClient(WCHAR *pwszServer, DWORD grfOptions);
BOOL TestMIDLServer(DWORD grfOptions);
#ifdef LINKED_COMPATIBLE
BOOL TestCompatibility(DWORD grfOptions);
#endif
void PrintHeader(char const *pszComponent);
void PrintResult(char const *pszComponent, BOOL fPassed);
void PrintTrace(char const *pszComponent, char const *pszFormat, ...);
void PrintError(char const *pszComponent, char const *pszFormat, ...);
//+-------------------------------------------------------------------------
//
// Enum: MemOp (memop)
//
// Purpose: Describes a particualr memory operation
//
// History: 17-Aug-93 CarlH Created
//
//--------------------------------------------------------------------------
enum MemOp
{
#ifdef LINKED_COMPATIBLE
memopOldAlloc, // Allocate with MemAlloc
memopOldAllocLinked,// Allocate with MemAllocLinked
memopOldFree, // Free with MemFree
#endif
memopAlloc, // Allocate regular block of memory
memopFree, // Free regular block of memory
memopMIDLAlloc, // Allocate with MIDL_user_alloc
memopMIDLFree // Free with MIDL_user_free
};
//+-------------------------------------------------------------------------
//
// Struct: SMemTask (memtsk)
//
// Purpose: Holds a description of a memory allocation task
//
// History: 17-Aug-93 CarlH Created
//
//--------------------------------------------------------------------------
struct SMemTask
{
MemOp memop; // Memory operation to execute
ULONG cb; // Size of operation (for alloc)
ULONG imemtsk; // Related memory task (for free and linking)
HRESULT hr; // Expected result code
};
BOOL RunMemoryTasks(char *pszComponent, SMemTask *pmemtsk, ULONG cmemtsk);