2 * Copyright 2010 Vicente J. Botet Escriba
3 * Copyright 2015, 2017 Andrey Semashev
5 * Distributed under the Boost Software License, Version 1.0.
6 * See http://www.boost.org/LICENSE_1_0.txt
9 #ifndef BOOST_WINAPI_HEAP_MEMORY_HPP_INCLUDED_
10 #define BOOST_WINAPI_HEAP_MEMORY_HPP_INCLUDED_
12 #include <boost/winapi/basic_types.hpp>
14 #ifdef BOOST_HAS_PRAGMA_ONCE
18 #if !defined( BOOST_USE_WINDOWS_H )
22 #if BOOST_WINAPI_PARTITION_DESKTOP_SYSTEM
23 BOOST_SYMBOL_IMPORT boost::winapi::DWORD_ WINAPI
24 GetProcessHeaps(boost::winapi::DWORD_ NumberOfHeaps, boost::winapi::PHANDLE_ ProcessHeaps);
25 #endif // BOOST_WINAPI_PARTITION_DESKTOP_SYSTEM
27 BOOST_SYMBOL_IMPORT boost::winapi::HANDLE_ WINAPI
28 GetProcessHeap(BOOST_WINAPI_DETAIL_VOID);
30 BOOST_SYMBOL_IMPORT boost::winapi::LPVOID_ WINAPI
32 boost::winapi::HANDLE_ hHeap,
33 boost::winapi::DWORD_ dwFlags,
34 boost::winapi::SIZE_T_ dwBytes);
36 BOOST_SYMBOL_IMPORT boost::winapi::BOOL_ WINAPI
38 boost::winapi::HANDLE_ hHeap,
39 boost::winapi::DWORD_ dwFlags,
40 boost::winapi::LPVOID_ lpMem);
42 BOOST_SYMBOL_IMPORT boost::winapi::LPVOID_ WINAPI
44 boost::winapi::HANDLE_ hHeap,
45 boost::winapi::DWORD_ dwFlags,
46 boost::winapi::LPVOID_ lpMem,
47 boost::winapi::SIZE_T_ dwBytes);
49 #if BOOST_WINAPI_PARTITION_APP_SYSTEM
50 BOOST_SYMBOL_IMPORT boost::winapi::HANDLE_ WINAPI
52 boost::winapi::DWORD_ flOptions,
53 boost::winapi::SIZE_T_ dwInitialSize,
54 boost::winapi::SIZE_T_ dwMaximumSize);
56 BOOST_SYMBOL_IMPORT boost::winapi::BOOL_ WINAPI
57 HeapDestroy(boost::winapi::HANDLE_ hHeap);
58 #endif // BOOST_WINAPI_PARTITION_APP_SYSTEM
61 #endif // !defined( BOOST_USE_WINDOWS_H )
66 #if BOOST_WINAPI_PARTITION_DESKTOP_SYSTEM
67 using ::GetProcessHeaps;
70 using ::GetProcessHeap;
75 #if BOOST_WINAPI_PARTITION_APP_SYSTEM
83 #endif // BOOST_WINAPI_HEAP_MEMORY_HPP_INCLUDED_