//+------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 1992 - 1993. // // File: preinit.cxx // // Contents: Pre-initialization memory allocation tests // // Functions: TestPreInit // // History: 24-Jan-94 CarlH Created // //-------------------------------------------------------------------------- #include "memtest.hxx" #pragma hdrstop static char g_szPreInit[] = "preinit"; // WARNING: Do not just start whacking on the elements of this // array. The third element of each structure may hold // the index of another entry in the array. If elements // are inserted, these indices may get hosed! // static SMemTask g_amemtskPreInitialize[] = { {memopAlloc, 128, 0, S_OK}, {memopFree, 0, 0, S_OK}, {memopAlloc, 12, 0, S_OK}, {memopAlloc, 1423, 0, S_OK}, {memopFree, 0, 2, S_OK}, {memopAlloc, 12, 0, S_OK}, {memopFree, 0, 3, S_OK}, {memopFree, 0, 5, S_OK} }; static ULONG g_cmemtskPreInitialize = sizeof(g_amemtskPreInitialize) / sizeof(g_amemtskPreInitialize[0]); BOOL TestGetAllocator(DWORD grfOptions); BOOL TestPreInitialize(DWORD grfOptions); //+------------------------------------------------------------------------- // // Function: TestPreInitialize, public // // Synopsis: Tests pre-initialization memory allocation functionality // // Arguments: [grfOptions] - options for test // // Returns: TRUE if successful, FALSE otherwise // // History: 24-Jan-94 CarlH Created // //-------------------------------------------------------------------------- BOOL TestPreInit(DWORD grfOptions) { BOOL fPassed; PrintHeader(g_szPreInit); if (!(fPassed = TestGetAllocator(grfOptions))) goto done; if (!(fPassed = TestPreInitialize(grfOptions))) goto done; done: PrintResult(g_szPreInit, fPassed); return (fPassed); } BOOL TestGetAllocator(DWORD grfOptions) { IMalloc *pmalloc; HRESULT hr; BOOL fPassed; PrintTrace(g_szPreInit, "testing default allocator\n"); hr = CoGetMalloc(MEMCTX_TASK, &pmalloc); if (fPassed = SUCCEEDED(hr)) { pmalloc->Release(); } return (fPassed); } //+------------------------------------------------------------------------- // // Function: TestPreInitialize, public // // Synopsis: Tests standard memory allocation routines // // Arguments: [grfOptions] - options for test // // Returns: TRUE if successful, FALSE otherwise // // History: 24-Jan-94 CarlH Created // //-------------------------------------------------------------------------- BOOL TestPreInitialize(DWORD grfOptions) { PrintTrace(g_szPreInit, "testing standard allocations\n"); return ( RunMemoryTasks( g_szPreInit, g_amemtskPreInitialize, g_cmemtskPreInitialize)); }