FreeRDP
Loading...
Searching...
No Matches
include/winpr/memory.h
1
20#ifndef WINPR_MEMORY_H
21#define WINPR_MEMORY_H
22
23#include <stdio.h>
24#include <stdlib.h>
25#include <string.h>
26
27#include <winpr/winpr.h>
28#include <winpr/wtypes.h>
29
30#include <winpr/crt.h>
31#include <winpr/file.h>
32
33#ifndef _WIN32
34
35#ifdef __cplusplus
36extern "C"
37{
38#endif
39
40 WINPR_ATTR_MALLOC(CloseHandle, 1)
41 WINPR_ATTR_NODISCARD
42 WINPR_API HANDLE CreateFileMappingA(HANDLE hFile, LPSECURITY_ATTRIBUTES lpAttributes,
43 DWORD flProtect, DWORD dwMaximumSizeHigh,
44 DWORD dwMaximumSizeLow, LPCSTR lpName);
45
46 WINPR_ATTR_MALLOC(CloseHandle, 1)
47 WINPR_ATTR_NODISCARD
48 WINPR_API HANDLE CreateFileMappingW(HANDLE hFile, LPSECURITY_ATTRIBUTES lpAttributes,
49 DWORD flProtect, DWORD dwMaximumSizeHigh,
50 DWORD dwMaximumSizeLow, LPCWSTR lpName);
51
52 WINPR_ATTR_MALLOC(CloseHandle, 1)
53 WINPR_ATTR_NODISCARD
54 WINPR_API HANDLE OpenFileMappingA(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCSTR lpName);
55
56 WINPR_ATTR_MALLOC(CloseHandle, 1)
57 WINPR_ATTR_NODISCARD
58 WINPR_API HANDLE OpenFileMappingW(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCWSTR lpName);
59
60 WINPR_API LPVOID MapViewOfFile(HANDLE hFileMappingObject, DWORD dwDesiredAccess,
61 DWORD dwFileOffsetHigh, DWORD dwFileOffsetLow,
62 size_t dwNumberOfBytesToMap);
63
64 WINPR_API LPVOID MapViewOfFileEx(HANDLE hFileMappingObject, DWORD dwDesiredAccess,
65 DWORD dwFileOffsetHigh, DWORD dwFileOffsetLow,
66 size_t dwNumberOfBytesToMap, LPVOID lpBaseAddress);
67
68 WINPR_API BOOL FlushViewOfFile(LPCVOID lpBaseAddress, size_t dwNumberOfBytesToFlush);
69
70 WINPR_API BOOL UnmapViewOfFile(LPCVOID lpBaseAddress);
71
72#ifdef __cplusplus
73}
74#endif
75
76#ifdef UNICODE
77#define CreateFileMapping CreateFileMappingW
78#define OpenFileMapping OpenFileMappingW
79#else
80#define CreateFileMapping CreateFileMappingA
81#define OpenFileMapping OpenFileMappingA
82#endif
83
84#endif
85
86#endif /* WINPR_MEMORY_H */