📄 heap.h
字号:
/* * Win32 heap definitions * * Copyright 1996 Alexandre Julliard */#ifndef WINE_HEAP_H#define WINE_HEAP_H#include "config.h"#include "winbase.h"extern HANDLE SystemHeap;extern HANDLE SegptrHeap;extern int HEAP_IsInsideHeap( HANDLE heap, DWORD flags, LPCVOID ptr );extern SEGPTR HEAP_GetSegptr( HANDLE heap, DWORD flags, LPCVOID ptr );extern LPSTR HEAP_strdupA( HANDLE heap, DWORD flags, LPCSTR str );extern LPWSTR HEAP_strdupW( HANDLE heap, DWORD flags, LPCWSTR str );extern LPWSTR HEAP_strdupAtoW( HANDLE heap, DWORD flags, LPCSTR str );extern LPSTR HEAP_strdupWtoA( HANDLE heap, DWORD flags, LPCWSTR str );/* SEGPTR helper macros */#define SEGPTR_ALLOC(size) \ (HeapAlloc( SegptrHeap, 0, (size) ))#define SEGPTR_NEW(type) \ ((type *)HeapAlloc( SegptrHeap, 0, sizeof(type) ))#define SEGPTR_STRDUP(str) \ (HIWORD(str) ? HEAP_strdupA( SegptrHeap, 0, (str) ) : (LPSTR)(str))#define SEGPTR_STRDUP_WtoA(str) \ (HIWORD(str) ? HEAP_strdupWtoA( SegptrHeap, 0, (str) ) : (LPSTR)(str)) /* define an inline function, a macro won't do */static inline SEGPTR WINE_UNUSED SEGPTR_Get(LPCVOID ptr) { return (HIWORD(ptr) ? HEAP_GetSegptr( SegptrHeap, 0, ptr ) : (SEGPTR)ptr);}#define SEGPTR_GET(ptr) SEGPTR_Get(ptr)#define SEGPTR_FREE(ptr) \ (HIWORD(ptr) ? HeapFree( SegptrHeap, 0, (ptr) ) : 0)/* system heap private data *//* you must lock the system heap before using this structure */typedef struct{ void *gdi; /* GDI heap */ void *user; /* USER handle table */ void *cursor; /* cursor information */ void *queue; /* message queues descriptor */ void *win; /* windows descriptor */ void *root; /* X11 root window */} SYSTEM_HEAP_DESCR;extern SYSTEM_HEAP_DESCR *SystemHeapDescr;#endif /* WINE_HEAP_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -