diff --git a/Compiled/WinObjEx64.exe b/Compiled/WinObjEx64.exe index 12d8c2f..4005dcb 100644 Binary files a/Compiled/WinObjEx64.exe and b/Compiled/WinObjEx64.exe differ diff --git a/Source/CHANGELOG.txt b/Source/CHANGELOG.txt index f0867ac..8dbb0ae 100644 --- a/Source/CHANGELOG.txt +++ b/Source/CHANGELOG.txt @@ -1,3 +1,7 @@ +v1.7.x (dev) ++ Session object view and access rights, merge pull request #8 #9 ++ treelist updated + v1.7.0 code can now be compiled as C++ added W32pServiceTable view diff --git a/Source/WinObjEx64/ntos/ntos.h b/Source/WinObjEx64/ntos/ntos.h index ae16872..2f1516e 100644 --- a/Source/WinObjEx64/ntos/ntos.h +++ b/Source/WinObjEx64/ntos/ntos.h @@ -4,9 +4,9 @@ * * TITLE: NTOS.H * -* VERSION: 1.97 +* VERSION: 1.98 * -* DATE: 29 Nov 2018 +* DATE: 28 Dec 2018 * * Common header file for the ntos API functions and definitions. * @@ -9747,7 +9747,10 @@ NtTerminateJobObject( * ************************************************************************************/ -NTSTATUS NTAPI NtOpenSession( +NTSYSAPI +NTSTATUS +NTAPI +NtOpenSession( _Out_ PHANDLE SessionHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes); diff --git a/Source/WinObjEx64/props/propBasic.c b/Source/WinObjEx64/props/propBasic.c index e77e6a1..0c3ba66 100644 --- a/Source/WinObjEx64/props/propBasic.c +++ b/Source/WinObjEx64/props/propBasic.c @@ -6,7 +6,7 @@ * * VERSION: 1.70 * -* DATE: 30 Nov 2018 +* DATE: 25 Dec 2018 * * THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF * ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED diff --git a/Source/WinObjEx64/props/propDlg.c b/Source/WinObjEx64/props/propDlg.c index ba9b741..09f5470 100644 --- a/Source/WinObjEx64/props/propDlg.c +++ b/Source/WinObjEx64/props/propDlg.c @@ -6,7 +6,7 @@ * * VERSION: 1.70 * -* DATE: 30 Nov 2018 +* DATE: 25 Dec 2018 * * THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF * ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED diff --git a/Source/WinObjEx64/props/propSecurity.c b/Source/WinObjEx64/props/propSecurity.c index 89f5062..b6f2dd4 100644 --- a/Source/WinObjEx64/props/propSecurity.c +++ b/Source/WinObjEx64/props/propSecurity.c @@ -6,7 +6,7 @@ * * VERSION: 1.70 * -* DATE: 30 Nov 2018 +* DATE: 28 Dec 2018 * * THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF * ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED diff --git a/Source/WinObjEx64/props/propSecurityConsts.h b/Source/WinObjEx64/props/propSecurityConsts.h index 7a48d9f..924d53f 100644 --- a/Source/WinObjEx64/props/propSecurityConsts.h +++ b/Source/WinObjEx64/props/propSecurityConsts.h @@ -1,12 +1,12 @@ /******************************************************************************* * -* (C) COPYRIGHT AUTHORS, 2015 - 2016 +* (C) COPYRIGHT AUTHORS, 2015 - 2018 * * TITLE: PROPSECURITYCONSTS.H * -* VERSION: 1.45 +* VERSION: 1.70 * -* DATE: 07 Aug 2016 +* DATE: 28 Dec 2018 * * Consts header file for Security property sheet. * @@ -212,9 +212,8 @@ static SI_ACCESS IoCompletionAccessValues[MAX_KNOWN_IOCOMPLETION_ACCESS_VALUE] = // //MemoryPartition Access Values // -#define MAX_KNOWN_MEMORYPARTITION_ACCESS_VALUE 3 +#define MAX_KNOWN_MEMORYPARTITION_ACCESS_VALUE 2 static SI_ACCESS MemoryPartitionAccessValues[MAX_KNOWN_MEMORYPARTITION_ACCESS_VALUE] = { - { &GUID_NULL, MEMORY_PARTITION_ALL_ACCESS, L"Full Control", SI_ACCESS_GENERAL | SI_ACCESS_SPECIFIC}, { &GUID_NULL, MEMORY_PARTITION_QUERY_ACCESS, L"Query", SI_ACCESS_GENERAL | SI_ACCESS_SPECIFIC }, { &GUID_NULL, MEMORY_PARTITION_MODIFY_ACCESS, L"Modify", SI_ACCESS_GENERAL | SI_ACCESS_SPECIFIC } }; diff --git a/Source/WinObjEx64/props/propType.c b/Source/WinObjEx64/props/propType.c index 161efd1..405ac47 100644 --- a/Source/WinObjEx64/props/propType.c +++ b/Source/WinObjEx64/props/propType.c @@ -6,7 +6,7 @@ * * VERSION: 1.70 * -* DATE: 30 Nov 2018 +* DATE: 28 Dec 2018 * * THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF * ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED diff --git a/Source/WinObjEx64/sup.c b/Source/WinObjEx64/sup.c index 9047da6..5d9975a 100644 --- a/Source/WinObjEx64/sup.c +++ b/Source/WinObjEx64/sup.c @@ -6,7 +6,7 @@ * * VERSION: 1.70 * -* DATE: 03 Dec 2018 +* DATE: 25 Dec 2018 * * THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF * ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED diff --git a/Source/WinObjEx64/treelist/treelist.c b/Source/WinObjEx64/treelist/treelist.c index 7089a43..f8d1c90 100644 --- a/Source/WinObjEx64/treelist/treelist.c +++ b/Source/WinObjEx64/treelist/treelist.c @@ -4,9 +4,9 @@ * * TITLE: TREELIST.C * -* VERSION: 1.22 +* VERSION: 1.23 * -* DATE: 29 Nov 2018 +* DATE: 12 Dec 2018 * * TreeList control. * @@ -140,6 +140,7 @@ LRESULT TreeListCustomDraw( PTL_SUBITEMS subitem; HGDIOBJ prev; BOOL ItemSelected; + HIMAGELIST ImgList; if ((pdraw->nmcd.dwDrawStage & CDDS_ITEM) == 0) return CDRF_NOTIFYITEMDRAW; @@ -148,7 +149,7 @@ LRESULT TreeListCustomDraw( RtlSecureZeroMemory(&item, sizeof(item)); RtlSecureZeroMemory(&textbuf, sizeof(textbuf)); - item.mask = TVIF_TEXT | TVIF_HANDLE | TVIF_PARAM | TVIF_CHILDREN | TVIF_STATE; + item.mask = TVIF_TEXT | TVIF_HANDLE | TVIF_PARAM | TVIF_CHILDREN | TVIF_STATE | TVIF_IMAGE; item.hItem = (HTREEITEM)pdraw->nmcd.dwItemSpec; item.cchTextMax = (sizeof(textbuf) / sizeof(TCHAR)) - 1; item.pszText = textbuf; @@ -158,7 +159,14 @@ LRESULT TreeListCustomDraw( RtlSecureZeroMemory(&hr, sizeof(hr)); TreeView_GetItemRect(pdraw->nmcd.hdr.hwndFrom, (HTREEITEM)pdraw->nmcd.dwItemSpec, &ir, TRUE); - if (item.cChildren == 1) { + ImgList = TreeView_GetImageList(pdraw->nmcd.hdr.hwndFrom, TVSIL_NORMAL); + if (ImgList != NULL) + { + ImageList_Draw(ImgList, item.iImage, pdraw->nmcd.hdc, ir.left - 18, ir.top, ILD_NORMAL); + } + + if (item.cChildren == 1) // msdn: The item has one or more child items. + { RtlSecureZeroMemory(&tsz, sizeof(tsz)); if (GetThemePartSize(tl_theme, pdraw->nmcd.hdc, TVP_GLYPH, GLPS_CLOSED, NULL, TS_TRUE, &tsz) != S_OK) { tsz.cx = 8; @@ -168,6 +176,10 @@ LRESULT TreeListCustomDraw( subr.top = ir.top + (((ir.bottom - ir.top) - tsz.cy) / 2); subr.bottom = subr.top + tsz.cy; subr.left = ir.left - tsz.cx - 3; + + if (ImgList != NULL) + subr.left -= 38; + subr.right = ir.left - 3; if ((item.state & TVIS_EXPANDED) == 0) @@ -634,6 +646,10 @@ LRESULT CALLBACK TreeListWindowProc( return SendMessage((HWND)GetWindowLongPtr(hwnd, TL_TREECONTROL_SLOT), TVM_EXPAND, wParam, lParam); + case TVM_SETIMAGELIST: + + return SendMessage((HWND)GetWindowLongPtr(hwnd, TL_TREECONTROL_SLOT), TVM_SETIMAGELIST, wParam, lParam); + case TVM_DELETEITEM: if (lParam == (LPARAM)TVI_ROOT) { diff --git a/Source/WinObjEx64/treelist/treelist.h b/Source/WinObjEx64/treelist/treelist.h index b05db57..054d631 100644 --- a/Source/WinObjEx64/treelist/treelist.h +++ b/Source/WinObjEx64/treelist/treelist.h @@ -4,9 +4,9 @@ * * TITLE: TREELIST.H * -* VERSION: 1.22 +* VERSION: 1.23 * -* DATE: 29 Nov 2018 +* DATE: 12 Dec 2018 * * Tree-List custom control header file. * @@ -79,6 +79,9 @@ ATOM InitializeTreeListControl(); #define TreeList_GetNextItem(hwnd, hitem, code) \ (HTREEITEM)SNDMSG((hwnd), TVM_GETNEXTITEM, (WPARAM)(code), (LPARAM)(HTREEITEM)(hitem)) +#define TreeList_SetImageList(hwnd, himl, iImage) \ + (HIMAGELIST)SNDMSG((hwnd), TVM_SETIMAGELIST, iImage, (LPARAM)(HIMAGELIST)(himl)) + #define TreeList_GetChild(hwnd, hitem) TreeList_GetNextItem(hwnd, hitem, TVGN_CHILD) #define TreeList_GetNextSibling(hwnd, hitem) TreeList_GetNextItem(hwnd, hitem, TVGN_NEXT) diff --git a/WinObjEx64.sha256 b/WinObjEx64.sha256 index 8739787..8233387 100644 --- a/WinObjEx64.sha256 +++ b/WinObjEx64.sha256 @@ -1,6 +1,6 @@ 8e1c7d83f179b6bbf4b58f8197bd818b8a2306e6b3ecd901e9f51eae024277c9 *Compiled\WHATSNEW.md 25647f912f21f01dd7b5ce7a486556ff369ea501e3d95a10d76949ec14d02554 *Compiled\WinObjEx64.chm -bd5fa8620f3bdfb5b3dcd790c755d1acfe000b080b0bde851779dfc12ffff2ad *Compiled\WinObjEx64.exe +e26d5059daa834f5732b2102be0663d4ac0595b4433392cba6849861dcad90be *Compiled\WinObjEx64.exe c08368b90cfe42b51b75d4e3831664e64eb4475876c1c162a43dc15487c65d8f *Docs\Callbacks.pdf 7e2b0bcb3a2f0947f1effed2306d0178e4ad28da6427d5d7735017630bfb960a *Screenshots\CallbackObjectView.png 1f1f748519bbb30d09b472bf89fa0c74bf32426010b2f06fc3a4c5defaa3ee10 *Screenshots\CallbacksView.png @@ -17,7 +17,7 @@ df0143ec4da2387e3aa1694145f8fb1f53cac46fb6e7d608cf9c49ca89bab1dc *Screenshots\Vi ef65a909e8d9bc7ec94ecbc0f465f24a7968d6675eadf7f25f6414c66d6b28be *Screenshots\ViewingTypeInformation.png 89ac7dc1b82a69e0726ace4a604602ddc8d7b48f25d2ad36cdbad7d248991848 *Screenshots\ViewingUserSharedData.png 3e1712af4fa1c6e71d266c7884e26c5a519e5ae9deda552e78556bbfc0eb2c3a *Screenshots\W32pServiceTableView.png -1650d261f6f3692dfd250529fac6d7400cb6c04d129e6898a509a64ecde3fdeb *Source\CHANGELOG.txt +aadf932c7fba4f8393d481325480e5192656d04e4ea1b9c2e126edeff276513f *Source\CHANGELOG.txt c1127766c5aaf1bc5766fb7cd9005df1fffc2eb6f57dbbec057a52f06233fe21 *Source\FileList.txt a2c853517bb6199143e4ad19aac12ce642c63ddcf8c89f87753578ae422db16f *Source\TypesWithNoDesc.txt c9f95efd2433985838f6a45acc77464e0e79ea088b6ccbc267fd76bfb87029a2 *Source\WinObjEx64.sln @@ -44,7 +44,7 @@ ce4ff41bfeac1cef9339aa47939a8c3e2dee530b208e6f64c01d06dcdd274a7c *Source\WinObjE ab0e909baa2ca37b927c50ba073c2e2a0329a5505d1831e126cf705f1db11270 *Source\WinObjEx64\objects.h d8c7e8cd5cec2393c04733de10aebf6e838142f7e4f13089cab704567a76efe9 *Source\WinObjEx64\resource.h 0fcba54fa7d5e542c185de8cc2a7bdbb1e953bffd3de680cbfe92f91830e726f *Source\WinObjEx64\Resource.rc -ad47b25befe14d2aa9f04d49bba8c7f59e4d184825d062b31051ee1cf2108bda *Source\WinObjEx64\sup.c +63b6ab385528bc7781f45cafc0894bd3a066876ff4e8fa48d0efb3548e5f93fe *Source\WinObjEx64\sup.c f6fb07f4d2108ef7d15c44f5cb0a29b7e5390d5c783372e172b18ecf3f10fc00 *Source\WinObjEx64\sup.h 33d3b8fb0ea05c6fa998ea9527353a8d617a9411257098a40a4a39972527a711 *Source\WinObjEx64\supConsts.h 8fac344036a0356502d137fa8208e5cb5679ac646a7b0c3ce64c052444e99eaa *Source\WinObjEx64\ui.h @@ -100,14 +100,14 @@ ef1b18997ea473ac8d516ef60efc64b9175418b8f078e088d783fdaef2544969 *Source\WinObjE 52e3d39c69c43264b2f8d9bcdfce0f763a5e92d091eef59ea2a0294b4b19641c *Source\WinObjEx64\minirtl\_strstr.c 52a696ae714eb81033c477d1ec6c01389eef56c847609e89d360c2fb6899b4b6 *Source\WinObjEx64\minirtl\_strstri.c 0cd425ef96247657ab55443c9b3bc9a90f0c18f634979942693553d0f764c601 *Source\WinObjEx64\ntos\ntalpc.h -9ee4cdd20fb7e9d114a1753b45796925ae7b6a3387199fd28ef715d65b26c6cb *Source\WinObjEx64\ntos\ntos.h +d0debd4f7db2ef941f0b02e9d7d1b85d873f0a01dcb4537b5e112c68443aaaa6 *Source\WinObjEx64\ntos\ntos.h 14b0a442647904db5476d14a1d9710bd83587f168b4b182465e5902d24676870 *Source\WinObjEx64\ntuser\StubNtUserOpenWindowStation.asm -14fbafa6957bee949706c6af47cceb396da9478a476549ca54415fce30170ff1 *Source\WinObjEx64\props\propBasic.c +e5134c4c9902826a51c9593eb3cfe44a8f7bb3e5b0d3b8888579bde477fb6891 *Source\WinObjEx64\props\propBasic.c 45e2088b0320c02cca2559f6e5183a4eb2a289021f5488d65ba6230e208557e9 *Source\WinObjEx64\props\propBasic.h e6cfba260e739c3cef422969b9934b0134af39cd76ef0d0b0f318b1c8e065b22 *Source\WinObjEx64\props\propBasicConsts.h b0e5ed0f9c9ac7eb2e60ee8c01df3eb0a6b6fffec78b3fc75b59d725babedaa0 *Source\WinObjEx64\props\propDesktop.c 047e4d17c76908889af6e7e80da91b04a3707a190acc0f7d2b26e98bcf80e3b2 *Source\WinObjEx64\props\propDesktop.h -6559427e9c5fa05b05faff05d76322e17a9bea7546d4e4846feb98cdae1e492d *Source\WinObjEx64\props\propDlg.c +22c985ff7418f5baef816fa711fb3f7d5ab2f8f8a475d925c16ce476beb8ed0f *Source\WinObjEx64\props\propDlg.c fe5617e6d4eb9eb3db061bc0cc4db37572a6f40217c477cafa1d732faecc5a6f *Source\WinObjEx64\props\propDlg.h ebe54be6735690140fa6d3ed06c452a26e0321e9b13db7973042cca72a588f51 *Source\WinObjEx64\props\propDriver.c 8dd63e57115728cdea4c326e5cde9acfe6015b2b088ec36022cd9f81e216e179 *Source\WinObjEx64\props\propDriver.h @@ -117,12 +117,12 @@ b389838466982a5e42acd27fcb132a2ddc6cfc427a22340a03d4853e500d1a3f *Source\WinObjE 1d4d6ad76c2bd770ff7d8a18fde927bac33c4be3b0a95fadca235f6cb2e10d2d *Source\WinObjEx64\props\propObjectDumpConsts.h ef9b4c9033cc81077ee821a76b61522b0927bfb15e9867b4b50a320522e951c2 *Source\WinObjEx64\props\propProcess.c 7ce4c79b1d7a93691cc457d01836209b51f25addc07a0875888e01a6c9a77358 *Source\WinObjEx64\props\propProcess.h -bbd5dfc37a8f6b39145f931500f3cc0d2e0d9ef23a511541025ff8dccaf06de7 *Source\WinObjEx64\props\propSecurity.c +1a3f2ea44fc38bac0428614e3091c131620c20a1f81905d2f81ea832ec927dd1 *Source\WinObjEx64\props\propSecurity.c 13b1c4b5d4ec899001b22b9bc1a967a9a0af792af2aae83dacb5c25d989ab068 *Source\WinObjEx64\props\propSecurity.h -f8f471c5cec3b850c193fc8f59f4b07eb4bd893d218832398cb8b1e47b6438d6 *Source\WinObjEx64\props\propSecurityConsts.h -6e94ec7f07e67a9267fb34ed55b81da848f4096f5ce54e2b3eaeb4bcc1111889 *Source\WinObjEx64\props\propType.c +64527a569ee9f6254dfc8c39e3063ed93220077a3bab61179f64ce9c47ffe90e *Source\WinObjEx64\props\propSecurityConsts.h +a94c48527eb134e2891ca689a484c3b1012ff45d5058ebc4d0ccebb5ccce33b2 *Source\WinObjEx64\props\propType.c 5e4fb7e44a7970c4ac6c29aefcc9aefc807444eefdd0cc1c9c9357693dfd64fd *Source\WinObjEx64\props\propType.h -9dd3763121667fa9f5ab8f5b9931b0fca8903df43b22aeb034765d483ea6c35c *Source\WinObjEx64\props\propTypeConsts.h +e413d8fb74fcfc86cf95f09a3f19c9e567e6bde49abed19e12b3abb59d121acc *Source\WinObjEx64\props\propTypeConsts.h 51f0d1a560dd77a7f3164ae2c8f9801d6a2902bd5cfd367db522199aca35b1ff *Source\WinObjEx64\rsrc\100.ico eca976b7dd50ea206588610ccb938fbc437f7165c667e19239bf0d36d4af22f9 *Source\WinObjEx64\rsrc\101.ico 09ee2f9dfd3a4a4d8df268ed909588a94db0e97a1601ba8d4b7e6441a1626395 *Source\WinObjEx64\rsrc\102.ico @@ -181,5 +181,5 @@ d4876437f5ea4c307b3894ff6a4ccd10922a366167104bb78b1103ebadd4f483 *Source\WinObjE 9c908e205f42861f5ce840cf07886009fe7fad09352820508757ae8d8f6a34ae *Source\WinObjEx64\rsrc\pipe.ico dfc2b3bad5991bb255c8f0626750f9554d1d1fa8777673efebfc5f00791ea567 *Source\WinObjEx64\tests\testunit.c 41d25c45692ac5c5f62494fbb359c4f494db3b787f6bbf5e6036e5a7e5d9d787 *Source\WinObjEx64\tests\testunit.h -4c011fa4d249e39ebda710b2ddb733e6704a0120c149e4923f55844d5b58bc7e *Source\WinObjEx64\treelist\treelist.c -622cf5c251d150079db587a2f1689e3e5b8b2a3d0faf7604594c3565b7a86a2d *Source\WinObjEx64\treelist\treelist.h +0f264f5560193e0b79fafc2ceea950d7a1fc64cf41ff42a09a9946956b228f15 *Source\WinObjEx64\treelist\treelist.c +7ddd81f005854d885b587a75ee12688873ee14d38f3b347204764814d3ecd851 *Source\WinObjEx64\treelist\treelist.h