+memory optimization

This commit is contained in:
henrypp committed 2018-12-13 07:16:57 +06:00
1 parent 4052003e77
commit af43779de9
2 files changed
+394 -346

No files matched your search

+355 -342
View File
File diff suppressed because it is too large. Load diff
+39 -4
View File
@@ -390,15 +390,50 @@ typedef struct _ITEM_LIST_ENTRY
C_ASSERT (FIELD_OFFSET (ITEM_LIST_ENTRY, ListEntry) == 0);
C_ASSERT (FIELD_OFFSET (ITEM_LIST_ENTRY, Body) == MEMORY_ALLOCATION_ALIGNMENT);
#ifndef SAFE_DELETE
#define SAFE_DELETE(p) {if(p) { delete (p); (p)=nullptr;}}
#endif
#ifndef SAFE_DELETE_ARRAY
#define SAFE_DELETE_ARRAY(p) {if(p) { delete[] (p); (p)=nullptr;}}
#endif
typedef struct _ITEM_ADD
{
WCHAR sid[MAX_PATH] = {0};
WCHAR display_name[MAX_PATH] = {0};
WCHAR service_name[MAX_PATH] = {0};
WCHAR real_path[MAX_PATH] = {0};
_ITEM_ADD ()
{
hash = 0;
sid = nullptr;
display_name = nullptr;
service_name = nullptr;
real_path = nullptr;
psid = nullptr;
hbmp = nullptr;
}
~_ITEM_ADD ()
{
SAFE_DELETE_ARRAY (sid);
SAFE_DELETE_ARRAY (display_name);
SAFE_DELETE_ARRAY (service_name);
SAFE_DELETE_ARRAY (real_path);
if (hbmp)
{
DeleteObject (hbmp);
hbmp = nullptr;
}
}
size_t hash = 0;
LPWSTR sid = nullptr;
LPWSTR display_name = nullptr;
LPWSTR service_name = nullptr;
LPWSTR real_path = nullptr;
union
{
PSID psid = nullptr;